matlab中运用项目思维分析问题并解决问题
来源:互联网 发布:淘宝充值软件利润 编辑:程序博客网 时间:2024/06/08 14:07
我们将沿着以下几步思考:
1.State the problem
关于这个例子陈述问题很简单.我们想写一个判定二元一次方程的程序:是否有两个实根,重复实根,或者两个复数根
2.Define the inputs and outputs
该程序要求输入二元一次方程的三个参数:a,b,c
输出方程根的判定情况
3.Design the algorithm
任务可被分为三个部分:input,processing,and output
Read the input data
Calculate the roots
Write out the roots
现在我们将以上三个部分划分为更小、更细的模块。
根据判别式的值,关于根的情况有三种,因此将执行这个算法用三分支的if结构是合理的
伪代码是:
允许用户定义三个变量 a,b,c
读取 a,b,and c
判别式discriminant <- b^2-4*a*c
if discriminant >0
x1 <- (-b+sqrt(discriminant ))/(2*a)
x2 <- (-b-sqrt(discriminant ))/(2*a)
写msg:二元一次方程有两个不相等实根!
显示两个实根
elseif discriminant == 0
x1 <- -b/(2*a)
写msg:二元一次方程有两个相等实根!
显示这个实根
else
real_part <- -b/(2*a)
image_part <- sqrt( abs(discriminant) )/(2*a)
写msg:二元一次方程有两个复数根
显示两个复数根
end
4.Turn the glgorithm into MATLAB statements
最终MATALAB如下所示:
% 脚本文件:calc_roots.m% % 目标:% 该程序解决了二元一次方程组:a*x^2 + b*x + c =0的根的问题% % 版本记录% 日期 编者 描述% ===== ========= ================% 2015-10-2 20:10 泡泡 源码% % 定义变量:% % a --x^2的参数% b --x的参数% c --方程常量参数% discriminant --方程判别式变量% imag_part --方程虚根部分% real_part --方程实根部分% x1 --方程实根1% x2 --方程实根2% %清除变量或指令clc;% 允许用户输入三个参数disp ('该功能是求解方程的根 ');disp ('方程:A*X^2 + B*X + C = 0. ');a = input ('输入参数 A: ');b = input ('输入参数 B: ');c = input ('输入参数 C: ');%计算判别式discriminant = b^2-4*a*c;%根据判别式分情况讨论if discriminant >0 %两个实根 x1 = (-b+sqrt(discriminant ))/(2*a) x2 = (-b-sqrt(discriminant ))/(2*a) disp('二元一次方程有两个不相等实根! '); fprintf (' x1= %f\n' ,x1); fprintf (' x2= %f\n' ,x2);elseif discriminant == 0 x1 = -b/(2*a) disp('二元一次方程有两个相等实根! '); fprintf (' x1=x2= %f\n' ,x1);else real_part = -b/(2*a) image_part = sqrt( abs(discriminant) )/(2*a) disp('二元一次方程有两个复数根 '); fprintf (' x1= %f +i %f\n' ,real_part ,image_part ); fprintf (' x2= %f -i %f\n' ,real_part ,image_part );end
5.Test the program
A B C 根的情况
1 5 6 -2,-3
1 4 4 -2
1 2 5 -1+/- i2
因此,该算法给出了三种情况的正确答案
附图:
- matlab中运用项目思维分析问题并解决问题
- 如何运用反向思维解决问题?
- 一个项目中遇到的若干问题-提出问题-分析问题-解决问题
- MATLAB 中NORM运用
- MATLAB 中NORM运用 .
- android上传图片,已经在项目中运用并通过
- MATLAB 中NORM运用
- MATLAB中permute的运用
- MATLAB中repmat的运用
- MATLAB中fix的运用
- MATLAB中floor的运用
- 解决问题的方法和途径-问题分析
- 解决问题的思维习惯
- 一些解决问题的思维
- matlab web server运用中的一些问题
- 运用BBS营销成功案例并分析
- C#学习中遇到问题、解决问题(1)
- Matlab中Flipdim函数的运用
- Swift学习- 继承(十三)
- KT学算法(三)——最长回文子串与Manacher算法
- Apache Struts 2的命名空间实战
- java学习_IO(2)
- A840S黑砖修复过程(2013-05-22修改)
- matlab中运用项目思维分析问题并解决问题
- USACO 2.3 Money Systems (DP 动态规划 + 空间优化)
- 深入理解javascript原型链
- leetcode 16 3Sum Closet
- 安卓控件使用系列24:Gallery画廊控件的使用方法
- HighCharts坐标轴Y轴倒过来画图
- java nio 高级
- 组合数与错排数求解方法探析
- HighCharts设置多个Y轴 Y轴位置