24小时热门版块排行榜    

查看: 651  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

金枪鱼

银虫 (正式写手)

[求助] matlab三维画图问题,内含积分。高分求助,在线等

clc;clear all;
d=0.01;
x=-0.1:d:0.1;
z=-0.1:d:0.1;
y=-0.1:d:0.1;
[x,z]=meshgrid(x,z);
for i=1:length(x)
    for j=1:length(z);
    c(i,j)=exp(y.^2./(x(i).^2)+z(j).^2./(6.*x(i));
    c1=trapz(y,c(i,j));%(x,z)点对函数c对y积分
    end
end
figure,surf(x,z,c1);

我想得到的结果是画一个三维图或等高图,就是在x,z平面,平面内的一点(x,z)处的值为函数c对y积分。请问大侠们怎么修改上面的代码?非常感谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

佛为心,道为骨,儒为表,大度看世界;技在手,能在身,思在脑,从容过生活
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

金枪鱼

银虫 (正式写手)


csgt0: 金币+1, 谢谢分享 2012-12-03 11:15:25
问题已解决,谢谢!
附上代码

主函数
clc;clear all;
d=0.01;
x=0.1:d:0.2;
z=-0.2:d:0.2;
[x,z]=meshgrid(x,z);
[m,n]=size(x);
for i=1:m
     for j=1:n
         c1(i,j)=quad(@(y)fun2(y,x(i,j),z(i,j)),-0.2,0.2);%(x,z)点对函数c对y积分
     end
end
surf(x,z,c1);

调用函数
function f=fun2(y,x,z)
f=exp(y.^2./(x.^2)+z.^2./(6.*x));
佛为心,道为骨,儒为表,大度看世界;技在手,能在身,思在脑,从容过生活
3楼2012-12-02 11:43:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dbb627: 金币+2, 感谢应助 2012-11-27 08:52:44
金枪鱼: 金币+10, ★★★很有帮助 2012-12-02 11:30:57
CODE:
clc;clear all;
d=0.01;
x=-0.1:d:0.1;
z=-0.1:d:0.1;
y=-0.1:d:0.1;
[x,z]=meshgrid(x,z);
for i=1:length(x)
     for j=1:length(z);
        C=exp(y.^2./(x(i).^2)+z(j).^2./(6.*x(i)));
        c1(i,j)=trapz(y,C);%(x,z)点对函数c对y积分
     end
end
surf(x,z,c1);

showmethemoney
2楼2012-11-26 13:53:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见