matlab 怎么修改下面的程序 a=[1 1 2;1 2 3]; for i=1:2 b(:,i)=find(a==i); end

发布网友 发布时间:2022-04-01 21:42

我来回答

3个回答

懂视网 时间:2022-04-02 02:03

修改matlab程序的方法如下:

  

  1、首先需要打开文件,修改代码格式命cd(需要设定为工作路径的地址),点击回车键。

  

  2、或者在命令行窗口中输入pathtool,点击回车键,接着会弹出设置路径的窗口。

  

  3、最后,设置成功,再次在命令行窗口中输入cd可以校验是否修改成功。

  

  MATLAB(矩阵实验室,全称:Matrix Laboratory)是MathWorks公司推出的一款商业数学软件。MATLAB具有数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、财务与金融工程等功能。

  

  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了。

热心网友 时间:2022-04-01 23:11

请问你的编程意图是什么啊?b(:,i)=find(a==i);
find找到的是满足条件的坐标值啊,你i=1的时候生成了三个坐标值1
2
3,b的第一列就有三个值1
2
3,然后i=2的时候只有两个坐标值啊!在运行第一次循环的时候你就默认让b是三行了,你现在要把两个值赋给一个三维的列向量,你说错不错!
你把那个3改成2试试,保证对!

热心网友 时间:2022-04-02 00:29

你i=1时find(a==i)
有1
2
3,你i=2时find(a==i)
有4
5
两者不能同时放在b中,数组维数不同;如果你一定要放在一个变量里面,可以这样
b=zeros(6);
for
i=1:2
t=find(a==i)
if
length(t)>0
for
j=1:length(t)
b(j,i)=t(j)
end
end
end
结果:
b
=
1
4
0
0
0
0
2
5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com