matlab中怎么实现三维图,维度不一致,什么时候加点什么时候不加点?(matlab 出现矩阵维度不一致的情况)

3168℃ RAY

matlab中怎么实现三维图,维度不一致,什么时候加点什么时候不加点?(matlab 出现矩阵维度不一致的情况)

matlab 出现矩阵维度不一致的情况

^错误出现在倒数第二行:z=(Y-p)^2-4;

错误原因有两个:

Y和p的维度不一致,Y是二维矩阵,p是列向量,无法直接相减

数乘的平方运算需要使用.^

对于问题1需要根据你的物理意义修改,因为我不了解你的问题背景,所以简单修改为:

将p矩阵的所有元素设置为3

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

clc;

clear all;

t=0:0.0001:0.2;

d=5;%进给率

c=10;%工件旋转频率

R=45;%初始刀尖圆弧中心与工件中心距离

w=2*pi*c;%角频率

p=R-d*c*t;%极半径

p_=p-2:0.1:p+2;

[X,Y]=meshgrid(t,p_);

x=Y.*cos(20*pi*X);%x方向坐标

y=Y.*sin(20*pi*X);%y方向坐标

p=ones(size(Y))*3; % 此处将p修改为全部元素都是3,具体可根据你的需求修改

z=(Y-p).^2-4;%z方向坐标

mesh(x,y,z);

matlab矩阵维度不一样怎么办?

解决的办法可以用linspace函数获得等距的向量组。其使用格式

linspace(X1, X2, N) 

对于本案,可以这样处理

x1=linspace(0,r1,100)  %此处的100可以根据需要调整

x2=linspace(0,r2,100)

x3=linspace(0,r1+r2,100)

MATLAB画函数图,矩阵维度不同不能加减怎么办

其实不是很明白你所指的维度不同是什么意思?

如果是指x,y的长度不同,那是可以画出来的。

x=0:0.1:1;

y=0:0.1:2;

[X,Y]=meshgrid(x,y);

z=3*X+4*X.*Y;

mesh(X,Y,z);

如果你指的维度是指X是1维,Y是二维。。。。那我就呵呵了,这是什么函数啊

matlab报错矩阵维度不一致如何解决?

matlab中矩阵维数不一致,可能是之前定义了一个矩阵,后来又定义了一个同名矩阵,2个矩阵维数不同,混用在一起了。

还可能矩阵未定义。

MATLAB错误记录:错误使用 cat 串联的矩阵的维度不一致

今天想用matlab读取一个数据文件。用importdata读入后照例储存成了cell类型。但当我想用cell2mat将其转化为矩阵时却出现了这个问题:

错误使用 cat 串联的矩阵的维度不一致

经检查后发现,cell数组中每个元胞中存储的格式并非double,而是char数组。而且每一行char的长度不一致,从而引发了这个错误。于是我首先想到的解决思路是:

用char()函数把每个元胞的长度统一。

也确实统一了。但随后当我想用str2num()将char数组转换为数字时,却又出现了另一个问题:

y = str2num(x)返回值为空值[]

这很奇怪,于是我检查了一下我的每行字符串数组。发现它存在着古怪的格式问题。举例来说,在原始文件中数据本来是这样的:0.00

但是导入到matlab里以后就变成了了这样:0 . 0 0

数字之间存在的看似空格的空白字符导致str2num()函数无法正常使用。

在这种情况下,不得不对这些空格进行删除。但我的数据量很大,手动删除是不现实的。因此不得已使用了这个函数命令:

y = strrep(x,’ ‘,’’);

结果发现,很奇怪的是,这些空格依然存在。我自己随便编了一个字符串调用这个函数,结果证明函数是可以使用的。可见,数据中这些看似空格的空白字符实际上并非空格。经过试验,他们也不是制表符。由于时间有限,我最终并没有去确认这些空白字符到底是什么。只是简单地将字符串中其中一个空白字符赋给了一个变量作为样例。操作过程大致如下:

d = x(5);

y = strrep(x,x(5),‘’)

结果证明这样做是有效的

TAG: 维度 [db:tag]