matlab 绘制可行域内的函数图像

在这里插入图片描述
绘制这个东西在可行域内的图像

[X,Y] = meshgrid(-2:0.01:2,-2:0.01:2);
Z = -X.*Y;

figure(1)
mesh(X,Y,Z);
colorbar

这是直接绘制函数图像:
在这里插入图片描述
本来想着直接索引一下,然后就能出图像:

idx=(1-X.*X-Y.*Y)>=0;
X = X(idx)
Y = Y(idx)
Z = Z(idx)

结果octave报了这个错(那个玩意儿可以理解为开源matlab hhh

error: surface: rows (Z) must be the same as length (Y) and columns (Z) must be the same as length (X)
error: called from

后来看了下bai度鸡道的回答:
这样就可了:

[X,Y] = meshgrid(-2:0.01:2,-2:0.01:2);
Z = -X.*Y;


idx=(1-X.*X-Y.*Y)>=0;
Z(!idx)=nan;

figure(1)
mesh(X,Y,Z);
colorbar

在这里插入图片描述

参考自:
https://zhidao.baidu.com/question/559719938949412404.html
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值