Matlab误差时间矩阵尺寸必须一致

Matlab误差时间矩阵尺寸必须一致,matlab,Matlab,我试图在Matlab中创建一个GUI,一旦您在编辑文本区域中输入数据,它就会绘制一个特定的图形。我的问题是,当我尝试使用以下代码绘制图形时: function pushbutton3_Callback(hObject, eventdata, handles) a = str2num(get(handles.edit1,'string')); b = str2num(get(handles.edit2,'string')); n1 = str2num(get(handles.edi

我试图在Matlab中创建一个GUI,一旦您在编辑文本区域中输入数据,它就会绘制一个特定的图形。我的问题是,当我尝试使用以下代码绘制图形时:

  function pushbutton3_Callback(hObject, eventdata, handles)
  a = str2num(get(handles.edit1,'string'));
  b = str2num(get(handles.edit2,'string'));
  n1 = str2num(get(handles.edit6,'string'));
  n2 = str2num(get(handles.edit4,'string'));
  lambda = str2num(get(handles.edit5,'string'));
  m = ones(1,a)
  s = ones(1,b)
  f = ones(1,n1)
  g = ones(1,n2)
  k = ones(1,lambda) 
  c = k.*(m.*s/f.*g)
  i = -3:1:5 
  figure
  p= plot(c,i) 
此错误消息不断弹出:
错误时间矩阵维度必须一致
。我不知道该怎么办?我真的需要帮助,因为我有一个项目的最后期限,我是无知的!提前谢谢

m = ones(1,a)
s = ones(1,b)
f = ones(1,n1)
g = ones(1,n2)
k = ones(1,lambda) 
c = k.*(m.*s/f.*g)
你不是忘了除法运算器上的一个点吗

c = k.*(m.*s./f.*g)
对于错误本身:除非a==b==n1==n2==lambda,否则您创建的向量的维数是不同的,并且您将无法(明智地)将它们相乘,这导致
错误时间矩阵维数必须一致

编辑
绘制(x,y)
绘制一条线,将点(x,y)彼此连接起来。如果删除x并仅使用
绘图(y)
,则假定x为1:N(N为向量y中的元素数)

如果要绘制值c=lambda*(a*b/n1*n2),则绘图(c)将只绘制该值。我不明白为什么有人告诉你用1来转换向量

当然,如果

lambda=2
a  = 3
b  = 4
n1 = 5
n2 = 6
那么c=2*(3*4/5*6)=28.8 然后,您需要绘制值28.8

如果这是您想要的,那么可以使用

c = k.*(m.*s./f.*g);
plot(c);
如果参数包含更多值,例如:

lambda= [2 4]
a  = [3 5]
b  = [4 8]
n1 = [5 4]
n2 = [6 1]
同样的情况也适用,但是
c=k.*(m.*s./f.*g)将返回
c=[28.8 40]
并且
plot(c)
将连接点(1;28.8)和(2;40)


好吗?清楚的然后,主要的问题是,您必须确保用户在每个文本框中输入等量的数字,否则向量之间会出现不匹配,他们将无法计算:
[1 4 5].[6 7]
将出错

请使用更多的换行符,并通过在前面添加四个空格和include(至少)来格式化代码代码前面有一个空行。您还可以提供一些示例数据,例如,a、b、n1、n2和lambdata的值是多少?它们是gui用户将输入的变量,我必须使用这些值绘制图形。我试图在不将它们转换为向量的情况下绘制它们,但我只得到图形上的点,我需要的是图形而不是点!啊,这是信息!“我的图表”是什么意思?存储在矩阵/向量/中的一组数据值。。。或者,您必须在用户指定的点上计算函数。。a是干什么用的?Bn1?窗口的x极限?评估的要点是什么?你能告诉用户必须输入什么(分别针对每个变量)以及它如何符合你的“我想用这些值绘制我的图形”吗?我想绘制的方程是:c=lambda*(a*b/n1*n2)!在gui中,我有多个编辑文本区域,用户在其中输入不同的值,即lambda、a、b、n1、n2!问题是,当我直接使用字符串值来绘制图形时,我只得到了图形上的不同点,但有人告诉我,我必须将这些字符串值转换为1的向量才能绘制图形!但当我发布错误信息时,错误信息不断弹出,我无法策划任何事情,我真的需要在本周四之前完成这个项目!那你怎么想呢?那我怎么才能画出我的图呢?除非我把数据转换成向量,否则图只是图上的一个值。首先:你想画什么,我们可以看到你试着用
plot(c,I)
,但没有任何其他信息,我们也不知道,只能猜测你到底想要什么。在这里输入一些代码,让我们看看我们的水晶球,找到解决方案,这并不能解决问题。我想画的方程是:c=lambda*(a*b/n1*n2)!在gui中,我有多个编辑文本区域,用户在其中输入不同的值,即lambda、a、b、n1、n2!问题是,当我直接使用字符串值来绘制图形时,我只得到了图形上的不同点,但有人告诉我,我必须将这些字符串值转换为1的向量才能绘制图形!但当我发布时,错误信息不断弹出