我从来不喜欢“盲目地”使用求解器,也就是说,没有某种合适的初始值选择方案 . 根据我的经验,盲目做事时你会发现的 Value 观也是没有背景的 . 意思是,你经常会错过解决方案,认为某些东西是解决方案,而实际上解算器爆炸了,等等 .

对于这种特殊情况,重要的是要认识到 fzero 使用数值导数来找到越来越好的近似值 . 但是, f(x) = x · tan(x) - 1 的衍生物变得越来越难以准确计算以增加 x :

如您所见, x 越大, f(x) 越接近垂直线; fzero 会简直爆炸!因此,在进入 fzero 之前,必须尽可能接近解决方案 .

所以,这是一种获得 good 初始值的方法 .

考虑这个功能

f(x) = x · tan(x) - 1

tan(x) ≈ x + (1/3)·x³ + (2/15)·x⁵ + (7/315)·x⁷ + ...

我们可以使用它来近似函数 f(x) . 在第二学期结束后截断,我们可以写:

f(x) ≈ x · (x + (1/3)·x³) - 1

现在,要实现的关键是 tan(x) 重复周期 π . 因此,考虑一系列功能是最有用的:

fₙ(x) ≈ x · ( (x - n·π) + (1/3)·(x - n·π)³) - 1

对几个倍数进行评估并收集术语可得到以下推广:

f₀(x) = x⁴/3 - 0π·x³ + ( 0π² + 1)x² - (0π + (0π³)/3)·x - 1

f₁(x) = x⁴/3 - 1π·x³ + ( 1π² + 1)x² - (1π + (1π³)/3)·x - 1

f₂(x) = x⁴/3 - 2π·x³ + ( 4π² + 1)x² - (2π + (8π³)/3)·x - 1

f₃(x) = x⁴/3 - 3π·x³ + ( 9π² + 1)x² - (3π + (27π³)/3)·x - 1

f₄(x) = x⁴/3 - 4π·x³ + (16π² + 1)x² - (4π + (64π³)/3)·x - 1

fₙ(x) = x⁴/3 - nπ·x³ + (n²π² + 1)x² - (nπ + (n³π³)/3)·x - 1

在一个简单的MATLAB测试中实现所有这些:

% Replace this with the whole number of pi's you want to

% use as offset

n = 5;

% The coefficients of the approximating polynomial for this offset

C = @(npi) [1/3

-npi

npi^2 + 1

-npi - npi^3/3

-1];

% Find the real, positive polynomial roots

R = roots(C(n*pi));

R = R(imag(R)==0);

R = R(R > 0);

% And use these as initial values for fzero()

x_npi = fzero(@(x) x.*tan(x) - 1, R)

在循环中,这可以生成下表:

% Estimate (polynomial) Solution (fzero)

0.889543617524132 0.860333589019380 0·π

3.425836967935954 3.425618459481728 1·π

6.437309348195653 6.437298179171947 2·π

9.529336042900365 9.529334405361963 3·π

12.645287627956868 12.645287223856643

15.771285009691695 15.771284874815882

18.902410011613000 18.902409956860023

22.036496753426441 22.036496727938566 ⋮

25.172446339768143 25.172446326646664

28.309642861751708 28.309642854452012

31.447714641852869 31.447714637546234

34.586424217960058 34.586424215288922 11·π

如您所见,近似值基本上等于解决方案 . 对应情节:

matlab解方java_如何在MATLAB中获得该方程的所有解?相关推荐

  1. matlab yalmip安装教程,如何在matlab路径中安装yalmip Matlab R2014a添加yalmip图文教程

    yalmip是什么?可以说,yalmip是一位"集大成者",它不仅自己包含基本的线性规划求解算法,比如linprog(线性规划).bintprog(二值线性规划).bnb(分支界定 ...

  2. matlab 创建 符号矩阵,如何在MATLAB中动态创建符号矩阵?

    我需要在MATLAB中创建一个符号矩阵.它可以静态地完成为如何在MATLAB中动态创建符号矩阵? syms a11 a12 a21 a22; A = [a11 a12; a21 a22]; 或使用紧凑 ...

  3. 【MATLAB appdesigner】27_如何在appdesigner中调试,查看变量?(举例+技巧)

    写作时间:2022-07-18 目录: 1. 如何在appdesigner中调试,查看变量 2.举例 3.总结 正文: 1. 如何在appdesigner中调试,查看变量 在实际的代码编写与调试过程中 ...

  4. 对流matlab程序,方腔内自然对流MATLAB程序数值传热学.pdf

    方腔内自然对流MATLAB程序数值传热学 自然对流传热 问题描述: 一个二维矩形腔体,高H 1 ,宽L 1 ,物理模型如图1. 绝热壁面 热 冷 壁 壁 面 面 T=100 T=0 绝热壁面 图1 物 ...

  5. opencv 锐化 java_如何在OpenCV中锐化图像?

    如何在OpenCV中锐化图像? 如何使用OpenCV锐化图像? 有许多平滑或模糊的方法,但没有我能看到的锐化. 7个解决方案 147 votes 关于反锐化掩蔽的维基百科文章中列出了一个通用程序:您使 ...

  6. ultraedit运行java_如何在UltraEdit中编译和运行Java程序

    如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...

  7. 字符串压缩 java_如何在Java中压缩字符串?

    如何在Java中压缩字符串? 我使用GZIPOutputStream或ZIPOutputStream压缩字符串(我的2222235278130938882小于20),但压缩结果比原始字符串长. 在某个 ...

  8. win7关闭java_如何在WIN7中关闭JAVA自动更新

    在win7系统上面安装了JAVA JRE或JDK后,就会启动一个jusched,它会定时检查更新,每次开机都会推荐更新或者升级,可能有的朋友在win7下无论如何都关不掉java客户端的自动更新,而又不 ...

  9. 如何在 XMind 中输入数学方程?LaTeX 简易入门

    数学方程输入对于很多理工科朋友来说是一件让人头疼的事情.不仅是数学方程本身就纷繁复杂花样百出,各种输入语法更是劝退无数人.然而很多看似复杂的东西其实并非如想象中的难,抓住本质即可快速入门.今天和大家分 ...

  10. matlab vs2010编译器xml,如何在MATLAB R2010a 中使用Visual C++ 2010编译器

    1.安装补丁VS2010MEXSupport.zip 参考http://www.mathworks.cn/support/solutions/en/data/1-D5W493/index.html?s ...

最新文章

  1. 用计算机写作ppt文库,[百度文库.ppt
  2. linux查找nginx目录,Linux下查看nginx安装目录
  3. 高可用集群技术之RHCS应用详解(一)
  4. 【译】Diving Into The Ethereum VM Part 5 — The Smart Contract Creation Process
  5. Linux内存 性能调优
  6. Windows 7 上安装 Mapnik
  7. python中list index out of range_Python知识精解:str split()方法
  8. Arduino 002 --- 在Ubuntu(Linux) 中搭建Arduino开发环境
  9. 7月国内手机出货量3419.9万部 5G手机果然还是很少!
  10. Spring MVC视图解析器
  11. MC新手入门(四十二)------ 愤怒小狗制作三
  12. 云桌面优缺点_桌面云优缺点
  13. excel有多行不同内容需要向下填充
  14. 计算机网络分层协议及各层功能
  15. 视频问答社区VYou宣布关闭,问答社交模式会走向哪?
  16. Week7 B - TT 的旅行日记
  17. 台式计算机 蓝牙,台式电脑蓝牙在哪里打开(手把手教你打开台式电脑蓝牙)...
  18. 关于cocos creator 2.0的废除cc.p接口Sorry, cc.p is deprecated. Please use cc.v2 instead
  19. 【深度学习笔记】图像处理领域的不适定问题(ill-posed problem)
  20. 金蝶EAS WEB端多选F7赋值、保存与展示

热门文章

  1. java public interface_Java 接口interface的基础
  2. 语音处理:霍夫曼编码算法原理分析
  3. 机器学习——PCA(主成分分析)与人脸识别
  4. 集合点 java协议_LR插入集合点rendezvous
  5. 首发速看:智微JMS901双接口U盘成功量产,附量产工具软件+固件+教程分享
  6. 墨尔本大学计算机科学博士怎么样,墨尔本大学计算机科学专业怎么样?成为IT大牛的不二之选...
  7. CUDA编程第五章: 共享内存常量内存
  8. 【蓝桥杯】:奇怪的分式
  9. web网页设计期末课程大作业——电影介绍5页HTML+CSS制作
  10. PhalApi2.x笔记