怎么使用matlab在矩阵中找到大于1的数并输出
R=0:10:10000
E=3907*R*10^-6
D1=E-35
D2=40-E
figure(1)
plot(R,D1,'.b',R,D2,'.g');
if D1.*D2>5&2>D1-D2>-2
else
R=zeros
D2=zeros
D1=zeros
figure(2)
plot(R,D1,'.b',R,D2,'.g');
其实我就想知道,如果D1.*D2>5&2>D1-D2>-2的时候,求出这时候的R,并且画三者的图,可是我画出来两个图一样,不知道应该怎么弄 展开
A是原矩阵
[m,n]=size(A);
B=ones(m,n);C=find(B==(A>B));
A(C)就是所有大于1的数,C是在A里面的位置
例如:
在matlab中,可以通过sum函数和条件表达式来统计矩阵中大于或小于某数的元素的zhi个数。
具体实现方法可以参考如下程序段:
A=
[1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
3, 4, 5, 6, 7];
a = sum(A>4); % 统计矩阵A中值大于4的元素的个数
% A>4表示判断矩阵A中每个元素的值是否大于4的,若大于4,则返回1,;否则返回0。
% 所以A>4执行后返回的就是一个只有0和1的向量,此时对该向量进行求和,也就是统计1的个数,即矩阵A中大于4的元素的个数。
扩展资料:
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
参考资料来源:百度百科-MATLAB
[m,n]=size(A);
B=ones(m,n);C=find(B==(A>B));
A(C)就是所有大于1的数,C是在A里面的位置
a=find(A>1);
B=A(a);%B即为所求矩阵
I为大于1的元素位置,I=find(A(k,:))>1
A(k,I)=1
大于1的位置赋值1