matlab 画图求助

公式为
w= ((P*r_d^4)/64*K)*(1-(r/r_d )^2 )^2+c
K= E*t^3/(12-12*nu^2)
P = 15psi, rd = 15 inches, E = 18 x 106 psi, t = 0.08 inche nu=0.3 . Draw a surface plot of the membrane. Nameyour function ‘SurfPlotQ1.m’:

a.制造一系列“r” 值 利用meshgrid 函数,r的取值范围 0<=r<=r_d 。
创造一个“theta” 的变量,theta在零到2pi之间。
这题我会,r=meshgrid(0:0.5:15) theta= meshgrid(0:2*pi/30:2*pi) 。我把r 和theta 都 分成了30份

b.把r和theta所表示的极坐标转换为x-y坐标。
我用 pol2cart(theta,r)

c. 创建 surface plot 包含 r,theta 和 w

我不会做这题,因为w是应该有30个值,我不知道如何做。
希望大家指教。
我把我的代码发过来

c=15;
P=15;
r_d=15;
E=18*10^6;
t=0.08;
nu= 0.3;
K= E*t^3/(12-12*nu^2);
r=meshgrid(0:0.5:15);
theta= meshgrid(0:2*pi/30:2*pi);
for r=0:0.5:15
w= ((P*r_d^4)/64*K)*(1-(r/r_d )^2 )^2+c;
end
[x,y]=pol2cart(theta,r);

plot3(x,y,w);
end
效果图要像这样

第1个回答  推荐于2016-09-03
给你

c=15;
P=15;
r_d=15;
E=18*10^6;
t=0.08;
nu= 0.3;
K= E*t^3/(12-12*nu^2);
[r theta]=meshgrid(0:0.5:15, 0:2*pi/30:2*pi);
w= ((P*r_d^4)/64*K)*(1-(r/r_d )^2 )^2+c;
[x,y]=pol2cart(theta,r);

plot3(x,y,w);
end追问

我还想问下,题目要求
添加一个彩色条
然后设置彩色条的范围 caxis 函数 在w最大值和最小值范围之间。
我得到的是一个全部一样颜色的。。。
不知道对不对。不像图像上那样彩色的。

追答

help surf

本回答被提问者采纳
第2个回答  2020-05-08
相似回答