用for-end循环建立矩阵A=
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/12 03:39:36
这个不需要用循环的:函数:functiony=smatrix(Q)y=sum(sum(Q));主程序:clearall;clc;Q=[123;456;789];y=smatrix(Q);再问:是啊,我
给你个样板functionC=mult(A,B)m=size(A,1);k=size(A,2);n=size(B,2);ifk~=size(B,1)error('cannotdoA*B');retur
A(i,:)-A(j,:)表示A矩阵的第i行减去第j行,得到的是一个行向量;norm函数是取2范数,也就是向量的各项平方求和再开方.(因此我觉得后面再^1/2开一次方好像错了,纯属个人猜测,说错误怪)
eal---取实部imag---取虚部A(find(real(A)-imag(A)))再问:我是要得到矩阵中的实数元素,不是要实部!!!!再答:这就是实数元素,不信试试看嘛再问:我试过了,不是!再答:
A=1;fork=1:nforj=1:mA=A*Q(k,j);endend积的值在A变量
运行结果:
搞定了,绝对是最简洁,运行效率最高的算法,就是不知道你能不能看懂.程序如下:clear;clc;x=rand(10,5);%%%%%自己定义的矩阵K=3;[ab]=size(x);forii=1:Kv
以下是最简单的,直接在每一项输出后加上两个空格inti,j;for(i=1;i
不知你所说的“倍数关系”是什么概念?如果是指两个数相乘,那么一句就够了:mean(A.*B([31:end1:30])).再问:就是B的元素除以A与之对应的元素,我现在大概知道每一个对应关系大约都是8
直接A=A‘就可以了啊再问:是用for循环再答:a=[1,2,3;4,5,6;7,8,9];fori=1:3forj=1:3b(j,i)=a(i,j);endend
直接写出来吧:i=1;forn=1:3K{i}=[nn+1n-1;n-1n-2n+3;n-2n-3n];i=i+1;endK{2}-K{1}
你那上面函数是什么意思,不过你要是想生成矩阵是应该是fori=1:4;r(i)=red(r-30*i,c-30*i);g(i)=green(r-30*i,c-30*i);b(i)=blue(r-30*
总共有n行n列可以这样写:取n=5为例.n=5;fori=1:nforj=1:na(i,j)=1/(i+j-1);endenda结果为:a=1.00000.50000.33330.25000.2000
你说的不是很清楚可以把矩阵合并%%A/B/C/D四矩阵%%%新矩阵EE=[ABCD]然后for循环时候取矩阵E对应的列数.
假如A是a行b列的矩阵for(i=1:a)for(j=1:b)A(i,j)就可以用了endend
“维数为(i*j,5)的矩阵“是什么意思?行数是i*j,列数为5么?P就是那个矩阵么“x处每行从1到i*j的循环该如何用i,j来表示”中x的维数是什么?再问:我上面的表达有问题,有错误。这么说吧。计算
其实是不用生成这么多变量的.可以这样,用aaa{}.大括号代表a是cellarray,比如说你要用aaa1,其实就是aaa{1}aaa{2}等等.调用aaa1就用aaa{1}这种格式来表达.当然,如果
%hilb1.mfunctiona=hilb1(m,n)a=[];fori=1:mforj=1:na(i,j)=1/(i+j-1);end;end;a=rats(a);%调用>>a=hilb1(2,3
D=A;D(1:2,:)=0;D(:,1:2)=0;再问:前面的程序对吗?为什么在m文件里输入后,点run后,commonwindo里没有出结果再答:可以输入A然后回车看是否有数值是否和你要的结果一样
A=[];fori=1:10%A1至A10eval(['A',num2str(i),'=','rand(2,5)']);%A1至A10都是2行五列的矩阵,这个要改成你想要的eval(['A=[A;A'