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

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

附图:

时间: 2024-09-29 07:13:03

matlab中运用项目思维分析问题并解决问题的相关文章

[转载]Matlab中fft与fftshift命令的小结与分析

http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意. 记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间Duration为 t_end – t_start, 信号离散化造成的采样点数 N = Duration/t_s +

Matlab中fft与fftshift命令的小结与分析

转载自:http://wang-yg.diandian.com/post/2011-03-12/40028916801 我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意. 记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间Duration为 t_end – t_start, 信号离散化造成的采样点数 N = Duration/t_s + 1; 根据Fourier分析

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析 浏览: 149 发布日期: 2016-10-19  分类: ios 最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面 俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟, 就能轻松接入支付宝,在别人投来崇拜的眼光的同时,你就能潇洒的回一句,略懂略懂......   先给大家我写的微信支付,很详细哦,喜欢的点个赞点击打开微信支付链

[Asp.net 5] DependencyInjection项目代码分析4-微软的实现(中)

在 DependencyInjection项目代码分析4-微软的实现(上)中介绍了“ServiceTable”.“ServiceEntry”.“IGenericService”.“IService”.“IServiceCallSite”,这篇介绍下“IGenericService."IService"."IServiceCallSite"实现类 GenericService类 做为IGenericService的唯一实现类,该类言简意赅,请看代码: internal

项目中的软件测试管理分析

项目中的软件测试管理分析

如何将本地项目po到[email&#160;protected]中并做质量分析

今天看到oschina的sonar上线,想要试试,发现要把项目放到[email protected]中 手上有个测试的项目,远端在gitlab上,网上搜了下git 配置多个远程仓库: 1.先[email protected]中创建一个项目 2.将本地的ssh公钥放到[email protected]中 3.本地git shell中执行命令,添加远端仓库osc 查看命令远端仓库命令 4.推送项目到[email protected]中 5.开始分析,发现项目要改成公开的才能分析,⊙﹏⊙b汗 我等了半

开发初步——项目思维的培养

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827308.html 要开发一个项目(当然不是HelloWorld那种...),编码只是其中的一道工序.想要高效.高质量地完成一个项目,需要一套行之有效的执行方法,那就是项目思维. 项目思维主要包括6步,详细如下: 1:需求收集. 广泛征集需求,才能更加全面.准确地对软件进行定位,才能更全面地考虑到我们即将要开发的软件需要什么样的功能. 2:详细需求分析(具体功能与流程分析) 1)确定产品的用户角色:主要是

【caffe-windows】 caffe-master 之Matlab中model的分类应用

此篇讲述在matlab中,如何将训练好的model用于图像分类.将以mnist为例,主要用到caffe-master\matlab\demo 下的classification_demo.m ,可参考我之前的博客 [caffe-windows] caffe-master 之 classfication_demo.m 超详细分析 (http://blog.csdn.net/u011995719/article/details/54135189) 首先贴大神的博客:http://blog.csdn.n

团队项目方案分析

团队项目方案分析 一.前言 对于我所在的项目团队而言:我们团队在经过讨论与分析之后确定了项目的一个大致方向.那么我们为什么会选择这样的一个方案呢?这将会是我们今天讨论的一个主要的话题, 在文章接下来的内容当中,笔者将以问题的形式来讲述整个方案以及我们团队对于这个项目的一些想法. 二.领域前瞻 首先,对于我们目前的项目经历以及项目能力,我们应该有一个合理的预期,这样我们最终所交付的产品才会与我们当下的能力有一个较好的化学反应.那么对于我们该从什么领域入手呢?在此我们团队做了一个比较理性的思考.对于