这个方程怎么用Matlab画出等高线图? 80

里边的m=100,n=50,其它变量除了x和y都是已知变量,这是一个Lx=1,Ly=0.5的薄板,折腾了一下午自己画不出来,求个大佬,顺便帮我看看我这个代码哪里出错了,图... 里边的m=100,n=50,其它变量除了x和y都是已知变量,这是一个Lx=1,Ly=0.5的薄板,折腾了一下午自己画不出来,求个大佬,顺便帮我看看我这个代码哪里出错了,图三是原论文里给出的图像,图四是我画的图像 展开
 我来答
lhmhz
高粉答主

2020-03-08 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16989

向TA提问 私信TA
展开全部

为何题主给出的用Matlab画出等高线图的代码出不来图?原因有三个:

首先,题主的主要思路是对的,用双重循环求和,但不能运行,其主要 的原因没有对x、y进行声明变量

其二,使用contourf(x,y,w)函数错误,因为该函数使用前 ,要求x,y,w数据必须为二维矩阵,所以该函数应增加一个网格数据化,即 [x,y]=meshgrid(0:10);

其三,重新计算w值,即 w=eval(w);

最后,修正代码并给出kb、xq、yp、q、D已知值后,运行代码可以得到如下等高线图形。

更多追问追答
追问

大佬,我前面那部分图片没截下来,我是对x,y声明了变量的,主要是画出来的图像和原论文里的图像不一样,我再重新截个图给您看一下

追答
你还得告诉其他已知值(kb、xq、yp、q、D),否则是无法比较的。
rz4bf3
2020-03-08 · TA获得超过8130个赞
知道大有可为答主
回答量:5171
采纳率:89%
帮助的人:153万
展开全部
首先生成网格数据:[x,y]=meshgrid(v1,v2)
然后画图咯:counour(X,Y,Z,30);30是等高线条数。
要想放到一张图上显示:counour(X,Y,Z,30);hold on;counour(X,Y,F,30);就OK了
想分开的话就:subplot(1,2,1):counour(X,Y,Z,30);subplot(1,2,2);counour(X,Y,Z,30)
有什么问题再联系吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heavenGiao哥
2020-03-09
知道答主
回答量:93
采纳率:0%
帮助的人:5.5万
展开全部
先这样……再那样……最后再……。就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式