vibmaster 发表于 2015-9-30 23:15

matlab如何绘制迟滞回线

matlab如何绘制迟滞回线

happy 发表于 2015-10-4 17:37

这个要有迟滞回线的数据才能绘制

vibmaster 发表于 2015-10-6 16:41

happy 发表于 2015-10-4 17:37
这个要有迟滞回线的数据才能绘制

能否举个例子呢?

happy 发表于 2015-10-8 10:20

vibmaster 发表于 2015-10-6 16:41
能否举个例子呢?

% 最小二乘法拟合 B=1;
clear;clc;
wt=0:pi/6:5*pi/6;
B=sin(wt);
H=;
T0=;
fun=inline('1*(1/u(1)*sin(wt+u(3))+1/u(2)*sin(3*wt+u(4)))','u','wt'); % 定义函数
=nlinfit(wt,H,fun,T0);
% wt,H为原始数据,fun是在M文件中定义的函数,T0是函数中参数的初始值;
% ui为参数的最优值,r是各点处的拟合残差,J为雅克比矩阵的数值.
R=sum(r.^2);%误差平方和
T=0:0.1:2*pi;
BB=sin(T);
HH=1*(1/u1(1,1)*sin(T+u1(1,3))+1/u1(1,2)*sin(3*T+u1(1,4))); %根据b1写出具体函数

plot(H,B,'-*',HH,BB,'-or');
axis([-1000,1000,-1.2,1.2])
annotation('arrow',,...
    );
annotation('arrow',,...
    );
xlabel('H'), ylabel('B'),title('B-H');

vibmaster 发表于 2015-10-9 23:42

happy 发表于 2015-10-8 10:20
% 最小二乘法拟合 B=1;
clear;clc;
wt=0:pi/6:5*pi/6;

非常感谢,先研究研究
页: [1]
查看完整版本: matlab如何绘制迟滞回线