怎么编写一段MATLAB程序,急!
例如A=[0.13-0.03-0.030.010.30.10.090.450.490.2-0.560.01];先找出A中绝对值大于0.1的元素,满足这个条件的元素组成一个...
例如A=[0.13 -0.03 -0.03 0.01 0.3 0.1 0.09 0.45 0.49 0.2 -0.56 0.01 ];
先找出A中绝对值大于0.1的元素,满足这个条件的元素组成一个为t行1列的新的矩阵,其中t为这些元素的个数。谢谢! 展开
先找出A中绝对值大于0.1的元素,满足这个条件的元素组成一个为t行1列的新的矩阵,其中t为这些元素的个数。谢谢! 展开
4个回答
展开全部
clc
clear all
format long;
A=[0.13 -0.03 -0.03 0.01 0.3 0.1 0.09 0.45 0.49 0.2 -0.56 0.01 ];
leng_A=length(A);
j=1;
for i=1:1:leng_A
if(abs(A(i))>0.1)
Result(j)=A(i);
j=j+1;
end
end
Result=Result';
disp(Result);
你看看这是不是你想要的
祝你学习愉快!
clear all
format long;
A=[0.13 -0.03 -0.03 0.01 0.3 0.1 0.09 0.45 0.49 0.2 -0.56 0.01 ];
leng_A=length(A);
j=1;
for i=1:1:leng_A
if(abs(A(i))>0.1)
Result(j)=A(i);
j=j+1;
end
end
Result=Result';
disp(Result);
你看看这是不是你想要的
祝你学习愉快!
追问
首先谢谢您,麻烦再问一下,就上面那个矩阵,能不能写出这样一个j*1矩阵:构成方式如下:任意的A(i)减去它左边的某个值(不一定相邻)之差大于0.1,在右边也能找到满足这样条件的值, 使得这样的A(i)组成一个新的矩阵B(j)
追答
clc
clear all
format long;
A=[0.13 -0.03 -0.03 0.01 0.3 0.1 0.09 0.45 0.49 0.2 -0.56 0.01 ];
leng_A=length(A);
j=1;
flag_l=0;
flag_r=0;
for i=2:1:leng_A-1;%去掉最左边和最右边两个元素
for k=1:1:i-1
if(A(i)-A(k)>0.1)
flag_l=1;
break;
end
end
for m=i+1:1:leng_A
if(A(i)-A(m)>0.1)
flag_r=1;
break;
end
end
if(flag_l&&flag_r)
Result(j)=A(i);
j=j+1;
flag_l=0;
flag_r=0;
end
end
Result=Result';
disp(Result);
你的要求是不是这样
展开全部
b=find(abs(A)>0.1);
num=length(b)
c=zeros(num,1);
for i=1:num
c(i)=A(b(i));
end
%%矩阵c即为所要求的新矩阵;
num=length(b)
c=zeros(num,1);
for i=1:num
c(i)=A(b(i));
end
%%矩阵c即为所要求的新矩阵;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能够把解决问题的命令,写成一个.m文件,不过,我现在刚刚结束这门课的学习,能编出来,但要花费30分钟的样子。很是费时间偶。你给的悬赏太少了。呵呵。如果有诚意,邮件联系!hurricanblue@126.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B=A(abs(A)>0.1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询