24小时热门版块排行榜    

查看: 2469  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

八角寨

银虫 (著名写手)

[求助] 如何用matlab求方程 sin(2*x)=log10(x) 的解,谢谢。 已有1人参与

方程 sin(2*x)=log10(x) 有5个解, 如何用matlab求其数值解呢,谢谢。

利用 solve('sin(2*x)=log10(x)','x') 求助,答案不对。
请高手帮忙,谢谢。
回复此楼

» 猜你喜欢

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

月只蓝

主管区长 (职业作家)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-09-24 08:43:29
solve函数是解符号解的,既然要求数值解,用fsolve函数更合适。

clear all;clc
=fsolve(@(x) sin(2*x)-log10(x),);
x=round(1e6*x)/1e6;
x=unique(x)

求得五个数值解:

x =

    1.4846    3.4235    ...

此时有15个解,代码如下:

clear all;clc
[x fval]=fsolve(@(x) sin(5*x)-log10(x),linspace(0.5,9.5,20));
x=round(1e6*x)/1e6;
x_answer=unique(x)
figure(1)
xx=linspace(0,10,100);
yy=sin(5*xx)-log10(xx);
plot(xx,yy,'b',[0 10],[0 0],'r')

代码绘出了该函数图形,蓝线和红线交点的个数,即解的个数。
计算结果,有15个:
x_answer =

  Columns 1 through 12

    0.6641    1.2780    1.8318    2.5988    3.0408    3.8963    4.2620    5.1858    5.4884    6.4724    6.7167    7.7592

  Columns 13 through 15

    7.9442    9.0516    9.1658
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-09-24 12:33:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
八角寨: 金币+9, ★★★★★最佳答案, 非常好,感谢版主。但如果是 sin(5*x)=log10(x),语句中最后的[0.1 1 2 3 4 5 6 7 8 8.5] 该如何改变?再次感谢。 2015-09-24 11:50:58
solve函数是解符号解的,既然要求数值解,用fsolve函数更合适。

clear all;clc
[x fval]=fsolve(@(x) sin(2*x)-log10(x),[0.1 1 2 3 4 5 6 7 8 8.5]);
x=round(1e6*x)/1e6;
x=unique(x)

求得五个数值解:

x =

    1.4846    3.4235    4.3651    6.7735    7.3312
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-09-24 08:43:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-09-24 08:43:29
solve函数是解符号解的,既然要求数值解,用fsolve函数更合适。

clear all;clc
=fsolve(@(x) sin(2*x)-log10(x),);
x=round(1e6*x)/1e6;
x=unique(x)

求得五个数值解:

x =

    1.4846    3.4235    ...

解这种多解方程,首先应观察一下零点位于的范围,比如sin(2*x)-log10(x)图形显示,该方程零点位于[1,8]的范围内,那么用代码:
[x fval]=fsolve(@(x) sin(2*x)-log10(x),linspace(1,8,20));
即可获得方程所有解,不需要手动输入“语句中最后的[0.1 1 2 3 4 5 6 7 8 8.5]”。
linspace(1,8,20)中20这个数字应大于零点的个数。
比如求 sin(10*x)-log10(x),观察图形有31个解,这个时候就把该数值设得大一些,同时xx=linspace(0,10,500)中取点个数也设置为500这样的大数,因为解多了,这样做可以防止漏解:
clear all;clc
[x fval]=fsolve(@(x) sin(10*x)-log10(x),linspace(0.2,9.7,100));
x=round(1e6*x)/1e6;
x_answer=unique(x)
figure(1)
xx=linspace(0,10,500);
yy=sin(10*xx)-log10(xx);
plot(xx,yy,'b',[0 10],[0 0],'r')

可求得31个解,如下:
x_answer =

  Columns 1 through 12

    0.3601    0.6064    0.9449    1.2669    1.5516    1.9135    2.1649    2.5552    2.7814    3.1945    3.3997    3.8322

  Columns 13 through 24

    4.0192    4.4690    4.6394    5.1052    5.2602    5.7410    5.8812    6.3767    6.5024    7.0123    7.1236    7.6482

  Columns 25 through 31

    7.7445    8.2845    8.3649    8.9219    8.9842    9.5621    9.6007
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-09-24 12:48:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

八角寨

银虫 (著名写手)

引用回帖:
4楼: Originally posted by 月只蓝 at 2015-09-24 12:48:38
解这种多解方程,首先应观察一下零点位于的范围,比如sin(2*x)-log10(x)图形显示,该方程零点位于的范围内,那么用代码:
=fsolve(@(x) sin(2*x)-log10(x),linspace(1,8,20));
即可获得方程所有解,不需要手动输 ...

帮主知识渊博,感谢版主的耐心帮忙。
5楼2015-09-24 16:15:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 15/750 2026-09-01 12:23 by icm639
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
信息提示
请填处理意见