yhkn.net
当前位置:首页 >> mAtlAB对角元素赋值 >>

mAtlAB对角元素赋值

a = randi(10,3,3); %%%随机生成方阵for i=1:3 %%%循环,分别将每一行的处于对角线位置的元素重新赋值,使其等于本行其他元素之和 a(i,i)=sum(a(i,:))-a(i,i);end

clc; clear allsyms R1 s L2 C3 R4 L5 L6;r=[1/R1 1/(s*L2) s*C3 1/R4 1/(s*L5) 1/(s*L6)] %电路各支路的导纳%Yb=zeros(6,6); syms Ybfor i=1:6Yb(i,i)=r(1,i);endYb

假设a是原来的矩阵,[4,4,3,3,3,3]是你想要的新矩阵的对角元,那么 a=a-diag(diag(a))+diag([4,4,3,3,3,3]) 就是你想要的结果了

你好!最简单的,又是很通用的:A(logical(eye(size(A))))=5;B为logical类型,A(B)则把B中是1的位置处A的元素选出来.我用matlab试过.我的回答你还满意吗~~

用diag命令.如,A=magic(5);diag(A)

很简单,用diag函数即可!举个例子吧!a=[1 2 3 4 5];%主对角线b=[2 3 4 5];%上下对角线c=diag(a)+diag(b,1)+diag(b,-1)%即为你要的矩阵%c = 1 2 0 0 0 2 2 3 0 0 0 3 3 4 0 0 0 4 4 5 0 0 0 5 5

材料/工具:电脑、matlab软件1、首先打开电脑上的“matlab”软件,在命令行窗口输入一个向量n,向量n有4个元素.接着使用diag函数生成对角矩阵.2、diag(n,k)可以把向量放在第k条对角线上,k为正值,表示右上.k为负值,则表示左下

%以一条对角线为例:左上角到右下角, % Assumption : 4 by 4 matrix NN = [ 1 2 3 4; 5 6 7 8; 9 10 11 12 13 14 15 16 ];Len = 4;index = 1:Len;%Calculate ith position: index = i + Len*(i - 1 )index = index + (index-1).* Len; Output : index = [ 1 6 11

n=5; matrix=zeros(n,n); for i=1:n for j=1:n if i>j matrix(i,j)=2; elseif imatrix(i,j)=1; else matrix(i,j)=3; end end end

%先要得到A的大小 [m,n]=size(A);%然后再生成与A维数相同的对角矩阵 B=eye(m,n);%最后将A的对角元素加30 C=A+30*B;

gsyw.net | btcq.net | skcj.net | fkjj.net | bdld.net | 网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com