查看: 1281|回复: 16|关注: 0

[已解决] 如何将不同维度的数组放到同一个矩阵中?

[复制链接]

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
在数组维度随机的情况下,将产生的不同维度的数组y放到同一个矩阵中,该怎么做?拜托大家了
  1. clear all
  2. clc
  3. xmax=6;
  4. xmin=0.1;
  5. X0=(xmax-xmin)*rand(20,1) + xmin;
  6. for  i=1:20;
  7.      for x=0:0.1:X0(i,1);
  8.      y=2*x.^4+x.^3+3*x.^2+6*x+8;
  9.      end
  10. end
复制代码


MATLAB 基础讨论
版块优秀回答者

入门

406 麦片

财富积分


50500


8

主题

195

帖子

24

最佳答案
  • 关注者: 5
发表于 2019-6-25 09:47:05 | 显示全部楼层
  1. clear all
  2. clc
  3. xmax=6;
  4. xmin=0.1;
  5. a = zeros(1,20);
  6. X0=(xmax-xmin)*rand(20,1) + xmin;
  7. for  i=1:20
  8.      for x=0:0.1:X0(i,1)
  9.      y=2*x.^4+x.^3+3*x.^2+6*x+8;
  10.      a(i) = y;
  11.      end
  12. end
复制代码

不太明白你是什么意思,按你给的程序来看,y 都是同一维度的呀,上面的这个程序是你需要的吗?直接存入矩阵就行了。
还有指出你程序的一个小错误,for 循环后面不需要分号。

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
 楼主| 发表于 2019-6-25 10:03:39 | 显示全部楼层
皮皮小龙虾 发表于 2019-6-25 09:47
不太明白你是什么意思,按你给的程序来看,y 都是同一维度的呀,上面的这个程序是你需要的吗?直接存入矩 ...

首先十分感谢您的回复,谢谢您的指正。我马上修改。然后我想重新说一下我想做的工作,可能叙述的不是很到位,望见谅。在程序里由于X0是随机产生的,然后x以0到X0以0.1为间隔取值产生相应的y,但是正是由于X0是随机取值的,产生间隔的值不一样,产生的y值也就不一样。不知道这样说您是否能理解?望您见谅,希望得到您的帮助,十分感谢

MATLAB 基础讨论
版块优秀回答者

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-25 10:44:01 | 显示全部楼层
assameas 发表于 2019-6-25 10:03
首先十分感谢您的回复,谢谢您的指正。我马上修改。然后我想重新说一下我想做的工作,可能叙述的不是很到 ...

clear all
clc
m=0;
for ii=1:20;
     xmax=abs(randn(1));
     xmin=0;
     xd=0.1;
     x=xmin:xd:xmax;
     y{ii}=2*x.^4+x.^3+3*x.^2+6*x+8;
     if size(y{ii},2)>m
         m=size(y{ii},2);
     end
     x=[];
end
y_f=zeros(ii,m);
for ii=1:20
     y_f(ii,1:length(y{ii}))=y{ii};
end

MATLAB 基础讨论
版块优秀回答者

入门

406 麦片

财富积分


50500


8

主题

195

帖子

24

最佳答案
  • 关注者: 5
发表于 2019-6-25 10:56:08 | 显示全部楼层 |此回复为最佳答案
assameas 发表于 2019-6-25 10:03
首先十分感谢您的回复,谢谢您的指正。我马上修改。然后我想重新说一下我想做的工作,可能叙述的不是很到 ...
  1. clear
  2. clc
  3. xmax=6;
  4. xmin=0.1;
  5. a = zeros(20,60);
  6. X0=(xmax-xmin)*rand(20,1) + xmin;
  7. for i=1:20
  8.     for x=0:0.1:X0(i,1)
  9.         y=2*x.^4+x.^3+3*x.^2+6*x+8;
  10.         a(i,fix(10*x+1)) = y;
  11.     end
  12. end
复制代码

不好意思,是我没看仔细。
要让矩阵每行或每列长度不同是不行的,这是矩阵定义的问题。但是可以如上述代码一样,让矩阵可以容纳所有可能的长度,这样就可以将所有数据容纳了,至于多出来的无用元素,无非是后面的一串0,提取数据时提取非0元素,或者提取前多少个元素都可以实现

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
 楼主| 发表于 2019-6-25 11:07:53 | 显示全部楼层
皮皮小龙虾 发表于 2019-6-25 10:56
不好意思,是我没看仔细。
要让矩阵每行或每列长度不同是不行的,这是矩阵定义的问题。但是可以如上述代 ...

十分感谢您的耐心回复,谢谢

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
 楼主| 发表于 2019-6-25 11:11:38 | 显示全部楼层

感谢您的倾囊相助,我的matlab是基础阶段,您的程序我还得消化一下,十分感谢

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
 楼主| 发表于 2019-6-25 11:17:53 | 显示全部楼层
皮皮小龙虾 发表于 2019-6-25 10:56
不好意思,是我没看仔细。
要让矩阵每行或每列长度不同是不行的,这是矩阵定义的问题。但是可以如上述代 ...

谢谢您,我的问题解决了,十分感谢

新手

25 麦片

财富积分


050


24

主题

92

帖子

0

最佳答案
 楼主| 发表于 2019-7-10 17:55:16 | 显示全部楼层
皮皮小龙虾 发表于 2019-6-25 10:56
不好意思,是我没看仔细。
要让矩阵每行或每列长度不同是不行的,这是矩阵定义的问题。但是可以如上述代 ...

a1=[2,1,3,2,1;4,2,4,1,2;8,5,9,2,1],g1=[6,1,2;4,7,9;5,2,4],a2=[6,2,3,5,1;5,2,4,7,9;2,1,6,8,4],g2=[3,1;5,2;6,1],a3=[5,8,2,1,3;4,2,8,1,5;1,5,3,4,7],g3=[1,7,2,1;2,4,9,3;7,2,4,1].想要求取   第一次循环g1(1,1)*[a1(1,2)-a1(1,1)]+g1(1,2)*[a1(1,3)-a1(1,2)]+g1(1,3)*[a1(1,4)-a1(1,3)]+g2(1,1)*[a2(1,2)-a2(1,1)]+g2(1,2)*[a2(1,3)-a2(1,2)]+g3(1,1)*[a3(1,2)-a3(1,1)]+g3(1,2)*[a3(1,3)-a3(1,2)]+g3(1,3)*[a3(1,4)-a3(1,3)]
第二次循环g1(2,1)*[a1(2,2)-a1(2,1)]+g1(2,2)*[a1(2,3)-a1(2,2)]+g1(2,3)*[a1(2,4)-a1(2,3)]+g2(2,1)*[a2(2,2)-a2(2,1)]+g2(2,2)*[a2(2,3)-a2(2,2)]+g3(2,1)*[a3(2,2)-a3(2,1)]+g3(2,2)*[a3(2,3)-a3(2,2)]+g3(2,3)*[a3(2,4)-a3(2,3)]
第三次循环g1(3,1)*[a1(3,2)-a1(3,1)]+g1(3,2)*[a1(3,3)-a1(3,2)]+g1(3,3)*[a1(3,4)-a1(3,3)]+g2(3,1)*[a2(3,2)-a2(3,1)]+g2(3,2)*[a2(3,3)-a2(3,2)]+g3(3,1)*[a3(3,2)-a3(3,1)]+g3(3,2)*[a3(3,3)-a3(3,2)]+g3(3,3)*[a3(3,4)-a3(3,3)]
上述过程的循环次数依据g1,g2,g3矩阵中行数确定。老师,不好意思又来打扰您了,想要请问您上述的问题,恳请您帮忙看一下吧,谢谢您了

MATLAB 基础讨论
版块优秀回答者

入门

406 麦片

财富积分


50500


8

主题

195

帖子

24

最佳答案
  • 关注者: 5
发表于 2019-7-11 16:28:51 | 显示全部楼层
assameas 发表于 2019-7-10 17:55
a1=[2,1,3,2,1;4,2,4,1,2;8,5,9,2,1],g1=[6,1,2;4,7,9;5,2,4],a2=[6,2,3,5,1;5,2,4,7,9;2,1,6,8,4],g2=[3 ...

我想问一下,你的计算里面不用算g3第四列乘以a3的第五列和第四列之差吗?比如,g3(3,4)*(a3(3,5)-a3(3,4))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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