范洪源 hyfan@ntnu.edu.tw http://math.ntnu.edu.tw/~hyfan 臺灣師範大學數學系 分支宣告與程式設計 范洪源 hyfan@ntnu.edu.tw http://math.ntnu.edu.tw/~hyfan 臺灣師範大學數學系.

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

1 程式語言 Visual Basic 循序結構、選擇結構 黃瀧輝 老師 Long Hwai,Huang.
教师手册 教师职业守则(全体教师) 中文教学工作细则(中文、双语教师) 中文教师业绩评估(中文、双语教师)
第六讲 MATLAB 语言程序设计 6.1 MATLAB语言的函数的基本结构 6.2 全局、局部变量、子函数与私有目录
第 4 章 PHP 基本語法.
丁 频 农业及食品饮料行业高级分析师 贺菊颖 中药行业分析师 王友红 化学制药及生物制药行业分析师 路 颖 商业贸易行业首席分析师 1.
營利事業所得稅查核準則 相關概念介紹 南區國稅局 新營分局 林俊標 各位學員大家好:
黃聰明 臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 臺灣師範大學數學系.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
请说出牛顿第一定律的内容。.
淡水泉投资:安全稳健低回撤 长期业绩卓著 产品基本信息 基金经理简介 产品全称 银河证券-盘晟淡水泉成长1号 基金经理 赵军 受托人
全面预算管理培训 北大纵横管理咨询公司 2003年10月.
學 號:997I0010、997I0024 組 員:洪韋鈴、王婷婷 日 期: 指導老師:王立杰 老師
Introduction to Matlab
1012 MATLAB 教學 彭奕翔 2013/02/27.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
第 5 章 流程控制 (一): 條件分支.
Chapter 4 流程控制.
公司法(六) 股份有限公司 1.
第1章 MATLAB概述 1.1 MATLAB 7.x简介 是Matrix Laboratory的缩写,它将计算、可视化和编程功能于一身,是一个开放的基于矩阵的交互式开发系统。主要用于数学计算、系统建模与仿真、数据分析与可视化等。(Mathworks始创于1984) MATLAB的系统结构.
MATLAB介紹.
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
StonyBrook U
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
增员有方 L区 特别事务助理总监陈蕴梅 ACS ALS.
范洪源 臺灣師範大學數學系 MATLAB 基本功能介紹 范洪源 臺灣師範大學數學系.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
Matlab教學 Speaker:林昱志 Date:2012/10/25.
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
Application of Matlab Language
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
PHP 程式流程控制結構.
程式流程控制 方煒 台大生機系.
研究地月距離的變化.
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
黃聰明 國立臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 國立臺灣師範大學數學系
變數命名 保留字(Reserved Word)
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
Introduction to MATLAB
数学建模与数学实验 MATLAB作图.
数据结构与数据库 习题课(2) 2016年11月25日.
P ANNUAL REPORT DESIGN BY PENELOPE ENTER THE TIME
給你講一個故事 ﹕ 獻給所有未婚,將要結婚,和已婚的好朋友!!
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解.
Peking University SAS Club
MATLAB 程式設計入門篇 動畫製作.
软件测试 (四)静态测试与动态测试.
第九单元 第1课 实验 Matlab动画 1.洛仑兹非线性奇异方程所描述的无序运动 2.作y=sin(x)的程序动画(1)
第二单元 第2课 Matlab程序控制结构 1.顺序结构 2.选择结构 3.循环结构.
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
九年级 上册 22.3 实际问题与二次函数 (第1课时).
人生致命的八個問題 聽聽優美的音樂!看看美景! 想想生活中周遭的問題, 也許心胸會更開闊,人生更加美好!! yy (2006,May 10)
第四章 控制结构 1、顺序控制结构 2、选择结构 3、循环结构.
張智星 (Roger Jang) 台大資工系 多媒體檢索實驗室
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
11月份豆油价格区间震荡 宏源期货农产品团队 张磊 2011年10月29日.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
數學遊戲二 大象轉彎.
第6章 PHP基本語法介紹.
MATLAB 結構化財務程式之撰寫 MATLAB財務程式實作應用研習 主題五 資管所 陳竑廷
LF Vendor Monthly Report
正弦函数余弦函数的性质 (二) 执教:湖南华容一中 黄奇卫老师.
張智星 清大資工系 多媒體檢索實驗室 MATLAB 程式設計入門篇 程式流程控制 張智星 清大資工系.
Presentation transcript:

范洪源 hyfan@ntnu.edu.tw http://math.ntnu.edu.tw/~hyfan 臺灣師範大學數學系 分支宣告與程式設計 范洪源 hyfan@ntnu.edu.tw http://math.ntnu.edu.tw/~hyfan 臺灣師範大學數學系

3.1 由上而下的設計方法 開始 由上而下的設計流程 結束 陳述嘗試解決的問題 測試完成的MATLAB程式 定義輸入與輸出 分解成小問題 設計演算法 把演算法轉換成MATLAB宣告式 撰寫虛擬碼 分支宣告與程式設計 T.-M. Hwang

3.3 邏輯資料型態 邏輯資料型態 關係運算子 邏輯運算子 true false 運算子 說明 == 等於 ~= 不等於 > 大於 >= 大於或等於 < 小於 <= 小於或等於 運算子 說明 & AND && 快速求值的AND | OR || 快速求值的OR xor 互斥OR ~ NOT 分支宣告與程式設計 T.-M. Hwang

真值表 & && | || xor ~ F T 分支宣告與程式設計 T.-M. Hwang

3.4 分支(Branching Command) 條件指令 if-else switch - case - otherwise if expression statements elseif expression statements else statements end switch switch_expr case case_expr, statements case {case_expr1, case_expr2,...} statements ... otherwise, statements end 分支宣告與程式設計 T.-M. Hwang

範例:一元二次方程式 輸出二次方程式的根 輸入係數a, b, c 不同的實數根 重複的實數根 複數根 分支宣告與程式設計 T.-M. Hwang

disp ('This program solves for the roots of a quadratic '); disp ('equation of the form A*X^2 + B*X + C = 0. '); a = input ('Enter the coefficient A: '); b = input ('Enter the coefficient B: '); c = input ('Enter the coefficient C: '); % Calculate discriminant discriminant = b^2 - 4 * a * c; % Solve for the roots, depending on the value of the discriminant if discriminant > 0 % there are two real roots, so... x1 = ( -b + sqrt(discriminant) ) / ( 2 * a ); x2 = ( -b - sqrt(discriminant) ) / ( 2 * a ); disp ('This equation has two real roots:'); fprintf ('x1 = %f\n', x1); fprintf ('x2 = %f\n', x2); elseif discriminant == 0 % there is one repeated root, so... x1 = ( -b ) / ( 2 * a ); disp ('This equation has two identical real roots:'); fprintf ('x1 = x2 = %f\n', x1); else % there are complex roots, so ... real_part = ( -b ) / ( 2 * a ); imag_part = sqrt ( abs ( discriminant ) ) / ( 2 * a ); disp ('This equation has complex roots:'); fprintf('x1 = %f +i %f\n', real_part, imag_part ); fprintf('x1 = %f -i %f\n', real_part, imag_part ); end 分支宣告與程式設計 T.-M. Hwang

範例:根據月份來判斷其季別(I) for month = 1:12 switch month case {3,4,5} season = 'Spring'; case {6,7,8} season = 'Summer'; case {9,10,11} season = 'Autumn'; case {12,1,2} season = 'Winter'; end fprintf('Month %d ===> %s.\n', month, season); 分支宣告與程式設計 T.-M. Hwang

範例:根據月份來判斷其季別(II) month = {'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'}; for i = 1:length(month) switch month{i} case {'Mar','Apr','May'} season = 'Spring'; case {'Jun','Jul','Aug'} season = 'Summer'; case {'Sep','Oct','Nov'} season = 'Autumn'; case {'Dec','Jan','Feb'} season = 'Winter'; end fprintf('%s is %s.\n', month{i}, season); 分支宣告與程式設計 T.-M. Hwang

額外的繪圖功能 x = -2.5*pi:pi/100:2.5*pi; y1 = sin(2*x); y2 = 2*cos(2*x); plot(x, y1,'ro-.'); hold on plot(x, y2, 'gx:'); hold off legend('sin(2x)','2cos(2x)','Location','NorthWest'); text(1.5, 0.5, 'sin(2x)') text(3.3, 1.5, '2cos(2x)') xlabel('x'); ylabel('y'); title('Plot figure of sin(2x) and 2cos(2x)'); set(gca,'xtick',[-2*pi -pi 0 pi 2*pi]) set(gca,'xticklabel',{'-2 pi','- pi','0','pi','2 pi'}) 分支宣告與程式設計 T.-M. Hwang

axis([-2*pi 2*pi -2.5 2.5]) 分支宣告與程式設計 T.-M. Hwang

axis square axis equal axis normal 分支宣告與程式設計 T.-M. Hwang

axis off axis on 分支宣告與程式設計 T.-M. Hwang

x = -2.5*pi:pi/100:2.5*pi; y1 = sin(2*x); y2 = 2*cos(2*x); figure(1) plot(x, y1,'ro-.'); title('plot sin(2x)'); figure(2) plot(x, y2, 'gx:'); title('plot 2 cos(2x)'); 分支宣告與程式設計 T.-M. Hwang

subplot(m,n,p) x = -2.5*pi:pi/100:2.5*pi; y1 = sin(2*x); y2 = 2*cos(2*x); z1 = exp(x/10); z1 = z1.*y2; z2 = y1.*y2; subplot(2,2,1) plot(x, y1,'r'); title('plot sin(2x)'); subplot(2,2,2) plot(x, y2, 'g'); title('plot 2 cos(2x)'); subplot(2,2,3) plot(x, z1, 'b'); title('plot 2cos(2x)exp(x/10)'); subplot(2,2,4) plot(x, z2, 'm'); title('plot 2cos(2x)sin(2x)'); 分支宣告與程式設計 T.-M. Hwang