24小时热门版块排行榜    

查看: 1003  |  回复: 2

zjlyxzh000

铜虫 (初入文坛)

[求助] matlab中求解a^x时,x为分数,而a<0,则结果是复数 已有1人参与

举个例子,如(-27)^(1/3),这个解有三个,分别是两个复数和一个实数-3,所以问题就是如何设置可以让MATLAB出结果时去掉复数的结果,从而只得到实数的结果。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
C{1,1} = pi;                 % double
C{2,1} = 'John Doe';         % char array
C{3,1} = 2 + 4i;             % complex double
C{4,1} = ispc;               % logical
C{5,1} = magic( 3 );           % double array
C{6,1} = complex( 5, 0 )        % complex double

for k = 1 : 6
x( k, 1 ) = isreal( C{k,1} );
end
x

x =
     1
     1
     0
     1
     1
     0

參考資料:
isreal
https://www.mathworks.com/help/matlab/ref/isreal.html

3.2邏輯操作元
https://bime-matlab.blogspot.tw/2006/10/32.html
2楼2016-08-01 11:45:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjlyxzh000

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by FMStation at 2016-08-01 11:45:56
C{1,1} = pi;                 % double
C{2,1} = 'John Doe';         % char array
C{3,1} = 2 + 4i;             % complex double
C{4,1} = ispc;               % logical
C{5,1} = magic( 3 );           ...

谢谢你的回答
我的问题并不是判断结果是否是实数,而是我想直接得到结果是实数,如1楼所给例子,以MATLAB运算结果只有一个复数结果,而没有-3这个结果,而我如果想得到-3这个解该如何设置或者如何写一小段程序,谢谢啦
3楼2016-08-03 10:32:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zjlyxzh000 的主题更新
信息提示
请填处理意见