matlab如何求解画图有一个变量的非线性方程?一个方程:%m文件function F=find_beta(B,w)U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 06:46:22
![matlab如何求解画图有一个变量的非线性方程?一个方程:%m文件function F=find_beta(B,w)U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+](/uploads/image/z/3935627-35-7.jpg?t=matlab%E5%A6%82%E4%BD%95%E6%B1%82%E8%A7%A3%E7%94%BB%E5%9B%BE%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E7%9A%84%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%3F%E4%B8%80%E4%B8%AA%E6%96%B9%E7%A8%8B%EF%BC%9A%25m%E6%96%87%E4%BB%B6function+F%3Dfind_beta%28B%2Cw%29U0%3D4%2Api%2A10%5E%28-7%29%3BUd%3DU0%3BE0%3D8.854%2A10%5E%28-12%29%3BEd%3D2.56%2AE0%3Bb%3D0.01016%3Bh%3Db%2F3%3BF%3D%5BB%281%29%5E2%2BB%283%29%5E2-w%5E2%2AU0%2AE0%3BB%282%29%5E2%2BB%283%29%5E2-w%5E2%2AUd%2AEd%3B%28B%281%29%2FU0%29%2Acot%28B%281%29%2A%28b-h%29%29%2B)
matlab如何求解画图有一个变量的非线性方程?一个方程:%m文件function F=find_beta(B,w)U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+
matlab如何求解画图有一个变量的非线性方程?
一个方程:
%m文件
function F=find_beta(B,w)
U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;
F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+(B(2)/Ud)*cot(B(2)*h)];
%然后画图
x0=[500;800;0.01];options = optimset('Display','off');w=1.5e+11:1e+10:3e+11;
for i=1:1e+9:length(w)
ww=w(i);B = fsolve(@(B) find_beta(B,ww),x0,options);
B1(i)=B(1);B2(i)=B(2);B3(i)=B(3);
end
plot(w/(2*pi*2.4e+10),B1,'-b',w/(2*pi*2.4e+10),B2,'-r',w/(2*pi*2.4e+10),B3,'-g')
最后的结果不对,应该是单调递增的曲线,而这个画出来的是一堆点,请问哪里错了?该如何修改?
matlab如何求解画图有一个变量的非线性方程?一个方程:%m文件function F=find_beta(B,w)U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+
% by dynamic of Matlab技术论坛
% 2010-03-02 10:43:30
%
程序错误在for i=1:1e+9:length(w),这里应该为for i=1:length(w)
所有全部程序应为
function matlabsky
%然后画图
x0=[500;800;0.01];
options = optimset('Display','off');
w=1.5e+11:1e+10:3e+11;
for i=1:1e+9:length(w)
ww=w(i);
B = fsolve(@(B) find_beta(B,ww),x0,options);
B1(i)=B(1);
B2(i)=B(2);
B3(i)=B(3);
end
plot(w/(2*pi*2.4e+10),B1,'-b',w/(2*pi*2.4e+10),B2,'-r',w/(2*pi*2.4e+10),B3,'-g')
%m文件
function F=find_beta(B,w)
U0=4*pi*10^(-7);Ud=U0;E0=8.854*10^(-12);Ed=2.56*E0;b=0.01016;h=b/3;
F=[B(1)^2+B(3)^2-w^2*U0*E0;B(2)^2+B(3)^2-w^2*Ud*Ed;(B(1)/U0)*cot(B(1)*(b-h))+(B(2)/Ud)*cot(B(2)*h)];
运行结果如下