用matlab作含有积分的三维图这样一个函数,想用matlab画出Φ与e、h的坐标图,横坐标是e、h,纵坐标是Φ,Io=1,r=0.01,具体编的程序是:clc;clear all;i=1;r=0.01;g=0;for a=0:0.001:0.01 k=0; g=g+1; for b=0:0.001:0.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 22:56:05
用matlab作含有积分的三维图这样一个函数,想用matlab画出Φ与e、h的坐标图,横坐标是e、h,纵坐标是Φ,Io=1,r=0.01,具体编的程序是:clc;clear all;i=1;r=0.01;g=0;for a=0:0.001:0.01 k=0; g=g+1; for b=0:0.001:0.
用matlab作含有积分的三维图
这样一个函数,想用matlab画出Φ与e、h的坐标图,横坐标是e、h,纵坐标是Φ,Io=1,r=0.01,具体编的程序是:
clc;
clear all;
i=1;
r=0.01;
g=0;
for a=0:0.001:0.01
k=0;
g=g+1;
for b=0:0.001:0.02
k=k+1;
f=@(x) 1-cos(2*atan((sqrt(r^2-a^2*(sin(x)).^2)-a*cos(x))./b));
e(g)=a;
h(k)=b;
y(k)=1/8.*i.*quad(f,0,2*pi);
end
end
[e,h] = meshgrid(a,b);
surf(e,h,y)
画不出来 错误信息很多
用matlab作含有积分的三维图这样一个函数,想用matlab画出Φ与e、h的坐标图,横坐标是e、h,纵坐标是Φ,Io=1,r=0.01,具体编的程序是:clc;clear all;i=1;r=0.01;g=0;for a=0:0.001:0.01 k=0; g=g+1; for b=0:0.001:0.
clear all; close all
i = 1;
r = 0.01;
g = 0;
es = [0:0.001:0.01].'; % 变量e的采样序列
hs = [0:0.001:0.02].'; % 变量h的采样序列
[ES, HS] = meshgrid(es, hs);
YS = 0*ES;
for g = 1:length(es)
e = es(g);
for k = 1:length(hs)
h = hs(k);
f = @(x) 1-cos(2*atan((sqrt(r^2-e^2*sin(x).^2)-e*cos(x))/h));
YS(k, g) = quad(f,0,2*pi);
end
end
YS = 1/8*i*YS;
surf(ES,HS,YS);
运行结果如下: