24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1123  |  回复: 4

一碗白开水

金虫 (小有名气)

[求助] 用MATLAB语句写下面一个判断条件,谢谢!已有2人参与

假定有四个数,有可能是实数,也有可能是复数,现在需要给这四个数划分一个区域,划定条件如下:
1、        若所有数的实部都为负数,则为一个区域;
2、        若有一个或多个数为实数且为正,则为一个区域;
3、        若有一个或多个数为复数且实部为正,则为一个区域;
能不能将上述条件用MATLAB语句写出来
回复此楼
生存还是生活有你的态度决定!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
完全可以!不过你的2和3有交叉!
A=[1,-1+i,-2,3-i];
Shb=real(A);
Xub=imag(A);
if length(find(Shb<0))==4
    disp('A属于情况一')
end
[a ai]=find(Xub==0);
if length(a)>=1&length(a>0)>=1
    disp('A属于情况二')
end
[b bi]=find(Xub~=0);
if length(b)>=1&length(Shb(bi)>0)>=1
    disp('A属于情况三')
end
运行结果
>> A属于情况二
A属于情况三
善恶到头终有报,人间正道是沧桑.
2楼2015-11-30 11:34:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

【答案】应助回帖

感谢参与,应助指数 +1
X = [a,b,c,c];

class = ones(length(X),1);
class = -class; %默认值-1,y轴没有分类

for i=1:length(X)
  z = X(i);
  if(real(z)>0)
       class(i)=3;
       if(imag(z)==0)
         class(i)=2;
       end
  else if(real(z)<0)
       class(i)=1;
  end   
end

disp(class)
板凳要做十年冷文章不发一个字
3楼2015-11-30 11:36:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

一碗白开水

金虫 (小有名气)

引用回帖:
2楼: Originally posted by wurongjun at 2015-11-30 11:34:14
完全可以!不过你的2和3有交叉!
A=;
Shb=real(A);
Xub=imag(A);
if length(find(Shb<0))==4
    disp('A属于情况一')
end
=find(Xub==0);
if length(a)>=1&length(a>0)>=1
    disp('A属于 ...

A=[-1,-1+i,-2,-3-i];
Shb=real(A);
Xub=imag(A);
if length(find(Shb<0))==4
    disp('A属于情况一')
end
[a ai]=find(Xub==0);
if length(a)>=1&length(a>0)>=1
    disp('A属于情况二')
end
[b bi]=find(Xub~=0);
if length(b)>=1&length(Shb(bi)>0)>=1
    disp('A属于情况三')
end
运行结果
>>A属于情况一
A属于情况二
A属于情况三
上述特征值的实部都为负数,按照条件应该属于情况一,为什么结果显示三种情况都有,是不是程序有问题
生存还是生活有你的态度决定!
4楼2015-11-30 16:49:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
一碗白开水: 金币+20, ★★★★★最佳答案, 谢谢 2015-11-30 17:52:35
修改了一下!
function fenlei(A)
Shb=real(A);
Xub=imag(A);
if length(find(Shb<0))==4
    disp('A属于情况一')
end
[a ai]=find(Xub==0);
if length(a)>=1&sum(Shb(ai)>0)>0
    disp('A属于情况二')
end
[b bi]=find(Xub~=0);
if length(b)>=1&sum(Shb(bi)>0)>0
    disp('A属于情况三')
end
几个例子!
A属于情况一
>> A=[-1,-1+i,-2,-3-i];
>> fenlei(A)
A属于情况一
>> A=[1,-1+i,-2,-3-i];
>> fenlei(A)
A属于情况二
>> A=[-1,1+i,-2,3-i];
>> fenlei(A)
A属于情况三
>> A=[1,1+i,-2,-3-i];
>> fenlei(A)
A属于情况二
A属于情况三
你看最后一个应该属于哪种情况?
善恶到头终有报,人间正道是沧桑.
5楼2015-11-30 17:14:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 一碗白开水 的主题更新
信息提示
请填处理意见