24小时热门版块排行榜    

查看: 2799  |  回复: 4
【悬赏金币】回答本帖问题,作者白寒冰将赠送您 20 个金币

白寒冰

新虫 (小有名气)

[求助] matlab的fsolve函数求解隐函数绘图,遇到复数解怎么办 已有1人参与

用fsolve求解隐函数绘图,有的显示无解,这个图应该是蝶形的,但是不对,代码如下。可能是因为忽略了复数,因此又对结果进行判断,复数单独绘制,但是还是不对,求大神解答。
%用fsolve绘图
clc
clear all;
theta0=pi/1000:pi/1000:2*pi;
for i=1:length(theta0)
    theta=theta0(i);
    C=3; D=(5/36)*pi; a=2; P3=20; E=8;
    K1=9*(1-E)^2;
    K2=-12*(1-E)^2+6*(1-E^2)*cos(2*theta);
    K3=10*(1-E)^2*(cos(2*theta))^2-4*(1-E)^2*(sin(D))^2*(cos(2*theta))^2-2*(1-E)^2*(sin(2*theta))^2-4*(1-E^2)*cos(2*theta)+(1+E)^2;
    K4=-4*(1-E)^2*cos(4*theta)+2*(1-E^2)*cos(2*theta)-4*(1-E^2)*(sin(D))^2*cos(2*theta)-(4*C*(1-E)*sin(2*D)*cos(2*theta))/P3;
    K5=(1-E)^2-(sin(D))^2*(1+E+(2*C*cos(D))/(P3*sin(theta)))^2;
    fun=@(r) K1*(a/r)^8+K2*(a/r)^6+K3*(a/r)^4+K4*(a/r)^2+K5;
    r_sln=fsolve(fun,pi/10);
    if  isreal(r_sln)==1
        r0(i)=r_sln;
    else
        r1(i)=abs(r_sln);
        bdelta = angle(r_sln);
    end
   
end
polar(theta0,r0,'. r'),hold on
polar(bdelta,r1,'. y')

matlab的fsolve函数求解隐函数绘图,遇到复数解怎么办
12.png


matlab的fsolve函数求解隐函数绘图,遇到复数解怎么办-1
13.png


matlab的fsolve函数求解隐函数绘图,遇到复数解怎么办-2
14.png


matlab的fsolve函数求解隐函数绘图,遇到复数解怎么办-3
微信截图_20210127110318.png
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
从你的代码看有多个解,fsolve只能得到一个解,建议用solve函数求解。
QQ:2120156492
2楼2021-01-27 18:31:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

白寒冰

新虫 (小有名气)

引用回帖:
2楼: Originally posted by hzlhm at 2021-01-27 18:31:54
从你的代码看有多个解,fsolve只能得到一个解,建议用solve函数求解。

改成solve更不行,会报错

发自小木虫Android客户端
3楼2021-01-28 12:29:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

QQ:2120156492
4楼2021-01-28 12:54:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

白寒冰

新虫 (小有名气)

引用回帖:
4楼: Originally posted by hzlhm at 2021-01-28 12:54:20
你用solve,是怎么写?

哎呀,这个id不是百度知道上回复我那个大神吗?,我直接把fsolve改成solve了

发自小木虫Android客户端
5楼2021-01-28 15:05:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 白寒冰 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 14/700 2026-08-21 16:51 by applepetty
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
信息提示
请填处理意见