Hello Mat

 找回密码
 立即注册
查看: 5633|回复: 2

仿照大佬的绘图程序试着自己画一个图像,为啥不行呐

[复制链接]

1

主题

5

帖子

1

金钱

新手上路

Rank: 1

积分
6
发表于 2019-9-28 08:32:49 | 显示全部楼层 |阅读模式
错误使用 mesh (line 58)
设置 Surface 的 'ZData' 属性时:
值必须是数值类型的标量、矢量或数组
这个Y显示是21*21*21  是因为他不是矩阵的原因吗
请教一下,希望能帮助一下小弟

clc,clear,close all
x1=-1:0.1:1;
x2=-1:0.1:1;
x3=-1:0.1:1;
for i =1:length(x1)
   for j =1:length(x2)
     for k =1:length(x3)
       y(i,j,k)=(0.6852*x1(i).^(-0.0068).*x2(j).^(-0.0065)*x3(k).^0.0126);
     end
   end
end
mesh(y)

回复

使用道具 举报

1294

主题

1520

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22633
发表于 2019-9-29 22:15:12 | 显示全部楼层
  1. mesh(abs(y))
复制代码
为什么是abs绝对值函数呢?因为y为复数了。

但是还存在以下问题:

问题1,x1(i).^(-0.0068).*x2(j).^(-0.0065),当x1=0时,x2=0时,此时分母为0,检查自己的模型!
问题2:你这个方程是个4-D方程,y是x1-x2-x3的函数,那么你怎么能画y的图?mesh是三维的,要么(x1, x2, y),要么(x1,x3, y),要么(x2,x3,y);你看看你方程,能画3-D图吗?



算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复 支持 1 反对 0

使用道具 举报

1

主题

5

帖子

1

金钱

新手上路

Rank: 1

积分
6
 楼主| 发表于 2019-9-30 10:07:04 | 显示全部楼层
Halcom 发表于 2019-9-29 22:15
为什么是abs绝对值函数呢?因为y为复数了。

但是还存在以下问题:

受教了,之前真的没发现在0点函数没意义还又abs复数这个问题,但是后来知道4-d的图像画不出来。感谢感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-4-20 07:39 , Processed in 0.222149 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表