• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab中运用项目思维分析问题并解决问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我们将沿着以下几步思考:
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
因此,该算法给出了三种情况的正确答案

附图:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlabdiag的用法发布时间:2022-07-22
下一篇:
matlab之waitbar()delete()close()发布时间:2022-07-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap