>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
删除行:
>> A(2,:)=[]
A =
1 2 3
7 8 9
删除列:
>> A(:,2)=[]
A =
1 3
7 9
扩展资料:
MATLAB的使用
在Matlab中可以对矩阵进行任意 *** 作,包括改变它的形式,取出子矩阵,扩充矩阵,旋转矩阵等.其中最重要的 *** 作符为“:”, 它的作用是取出选定的行与列.
例如:
A(:,:) 代表A的所有元素;试比较A(:),将A按列的方向拉成长长的1列(向量);
A(:,J) 代表A的第J列;
A(J:K) 代表 A(J), A(J+1), …, A(K),如同A(:)的第J到第K个元素;
A(:,J:K) 代表A(:,J), A(:,J+1), …, A(:,K),如此类推
对矩阵可以进行各种各样的旋转、变形、扩充:
矩阵的转置用符号“ ' ”表示:
如A=[1 2 3; 4 5 6 ; 7 8 0]
那么:计算B=A'
B =
1 4 7
2 5 8
3 6 0
符号“ ' ”为矩阵的转置,如果Z为复矩阵,则Z'为它的复数共轭转置,非共轭转置使用Z' 或conj(Z')求得.
可以用定义数组的命令
cells(m,n)
定义的是mn维的矩阵
也可以直接定义矩阵 比如定义一个3×3的矩阵
A=(x11,x12,x13;x21,x22,x23;x31,x32,x33)
i=i+1;
j=j+1;
你这样写i一直等于j,也就是你改变的对角线元素的值,如果对整个矩阵进行 *** 作,应改为
m=[0
0
0
0;0
0
0
1;0
0
1
0;0
0
1
1;0
1
0
0;0
1
0
1;0
1
1
0;0
1
1
1;1
0
0
0;1
0
0
1;1
0
1
0;1
0
1
1;1
1
0
0;1
1
0
1;1
1
1
0;1
1
1
1];
g=[1
0
0
1
1
1
0
1
1
1;1
1
1
0
0
0
1
1
1
0;0
1
1
0
1
1
0
1
0
1;1
1
0
1
1
1
1
0
0
1];
c=mg;
for
i=1:16
for
j=1:10
if(c(i,j)==1||c(i,j)==3)
c(i,j)=1;
elseif(c(i,j)==0||c(i,j)==2)
c(i,j)=0;
end
end
end
因为这个matlab程序调用了mesh函数,它需要3个参数都是size一样的矩阵,哪怕矩阵里的内容都是常数,因为前两个参数提供了一个面的东西方向坐标和南北坐标,还差第三个坐标提供垂直方向坐标。
官方的帮助
这个代码是写电工学的还是复变函数的,这个代码风格我觉得十分……眼熟故我修改查找错误,首先
出错在49-52
错误在代码的第49-52行det函数求的是矩阵的行列式值,结果是个1x1的常数,而非矩阵;而abs是求复数a+bi的模a²+b²的,以及实数的绝对值;故D,F,q1都不是矩阵,因而后面的mesh函数自然也是要跑不了的。
如果只是要修改以运行,可以这么改,即在把mesh语句改成h=mesh(x,t,z+zeros(size(x)))即可(但是这个图肯定不符合要求,具体怎么改还要等我恶补一下电工学)
以上就是关于MATLAB编程怎样去掉矩阵里的一行一列形成新矩阵全部的内容,包括:MATLAB编程怎样去掉矩阵里的一行一列形成新矩阵、matlab定义一个矩阵、matlab怎么输出矩阵等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)