matlab做公式三维图,[MATLAB基础] 使用mesh函数画复杂公式的三维图问题

icon1.gif 回复: 使用mesh函数画复杂公式的三维图问题

仿真的时候总是出现矩阵不匹配的问题

代码:

x=linspace(-2, 2, 25); % 在x轴上取25点

y=linspace(-2, 2, 25); % 在y轴上取25点

[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵

%[x,y]=meshgrid(0:0.25:4); %在[0,4pi]×[0,4pi]区域生成网格坐标

zz=((0.5+yy)/((0.5+yy).^2+0.04))*(((0.5+xx)/sqrt((0.5+xx).^2+(0.5+yy).^2+0.04))+((0.5-xx)/sqrt((0.5-xx).^2+(0.5+yy).^2+0.04)))+((0.5-yy)/((0.5-yy).^2+0.04))*(((0.5-xx)/sqrt((0.5-xx).^2+(0.5-yy).^2+0.04))+((0.5+xx)/sqrt((0.5+xx).^2+(0.5-yy).^2+0.04)))+((0.5-xx)/((0.5-xx).^2+0.04))*(((0.5+yy)/sqrt((0.5-xx).^2+(0.5+yy).^2+0.04))+((0.5-y)/sqrt((0.5-xx).^2+(0.5-yy).^2+0.04)))+((0.5+xx)/((0.5+xx).^2+0.04))*(((0.5-yy)/sqrt((0.5+xx).^2+(0.5-yy).^2+0.04))+((0.5+yy)/sqrt((0.5+xx).^2+(0.5+yy).^2+0.04)));

%z=x^2+y^2;

%a1=(1+y)/((1+y)^2+0.04);

%{

a2=(1+x)/sqrt((1+x)^2+(1+y)^2+0.04);

a3=(1-x)/sqrt((1-x)^2+(1+y)^2+0.04);

b1=(1-y)/((1-y)^2+0.04);

b2=(1-x)/sqrt((1-x)^2+(1-y)^2+0.04);

b3=(1+x)/sqrt((1+x)^2+(1-y)^2+0.04);

c1=(1-x)/((1-x)^2+0.04);

c2=(1+y)/sqrt((1-x)^2+(1+y)^2+0.04);

c3=(1-y)/sqrt((1-x)^2+(1-y)^2+0.04);

d1=(1+x)/((1+x)^2+0.04);

d2=(1-y)/sqrt((1+x)^2+(1-y)^2+0.04);

d3=(1+y)/sqrt((1+x)^2+(1+y)^2+0.04);

%}

%z=a1*(a2+a3)+b1*(b2+b3)+c1*(c2+c3)+d1*(d2+d3);

mesh(xx,yy,zz);

axis([0 4*pi 0 4*pi -2.5 1]);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值