欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Matlab編程習(xí)慣總結(jié)[5篇材料]

      時間:2019-05-12 12:56:56下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Matlab編程習(xí)慣總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Matlab編程習(xí)慣總結(jié)》。

      第一篇:Matlab編程習(xí)慣總結(jié)

      好的編程習(xí)慣

      為了增強程序的可讀性,在if 結(jié)構(gòu)體開頭縮進兩格或更多的空間。編程隱患

      確保變量名的前三十一個字符是獨一無二的,否則,MATLAB 將辨認(rèn)不出兩變量的不 同。編程隱患

      如果變量名與MATLAB 中的函數(shù)或命令重名,那么這個函數(shù)或命令將不能被訪問 好的編程習(xí)慣

      給你的變量起一個描述性的且易于記憶的變量名。例如,貨幣匯率可以exchange_rate 為變量名。這種方法將使得你的程序更加明確且易于理解。好的編程習(xí)慣

      在每次用到一個變量時,我們要確保變量名的大小寫的精確匹配。在變量名中只使用

      小寫字母是一個好的編程習(xí)慣。好的編程習(xí)慣

      在MATLAB 賦值語句后加上一個分號來禁止變量值在命令窗口(The Command Windows)的重復(fù)。這將大大提高編譯的速度。好的編程習(xí)慣 如果你在調(diào)試程序時需要檢測一個語句的結(jié)果,可能把句后的分號去掉,這樣結(jié)果將

      會出現(xiàn)在命令窗口(The Command Windows)。編程隱患

      不要重定義有意義的預(yù)定義變量。否則將后患無窮,制造成出小而難以發(fā)現(xiàn)的錯誤。編程隱患

      fprintf 函數(shù)只能復(fù)數(shù)的實部,所以在有復(fù)數(shù)參加或產(chǎn)生的計算中,可能產(chǎn)生錯誤的結(jié) 果。好的編程習(xí)慣

      如果數(shù)據(jù)需要在MATLAB 和其他程序之間交換使用,那么以ASCII 格式存儲數(shù)據(jù)。

      如果只在MATLAB 中使用那么,應(yīng)以mat 文件的形式存儲數(shù)據(jù)。好的編程習(xí)慣

      以“dat”的擴展名保存ASCII 數(shù)據(jù)文件,以區(qū)別于以“mat”為擴展名的mat 文件。編程隱患

      在你的MATLAB 代碼中,仔細(xì)區(qū)分?jǐn)?shù)組運算和矩陣運算。數(shù)組乘法和矩陣乘法極易混 淆。好的編程習(xí)慣 當(dāng)你讀取和寫入數(shù)據(jù)時,使用適當(dāng)?shù)膯挝?/p>

      自上而下的編程方法是我們正規(guī)編程設(shè)計的基礎(chǔ)。1.清晰地陳述你所要解決的問題

      編寫的程序大多數(shù)情況下要滿足一些感覺上的需要,但這種需要不一定能夠被人清晰地

      表達出來。例如,用戶需要一個解線性方程組的表達式。像這樣的要求就不夠清楚,程序員

      就很難編出一個使他滿意的程序。他必須弄清楚要有多少問題需要解決?在這些方程式中有

      沒有對稱的形式使我們的開發(fā)變得簡單?程序設(shè)計者必須和使用者討論所需的程序,他們必

      須要對完成的任務(wù)有一個精確細(xì)致的描述。對問題清晰的描述可以防止誤解,并且能夠幫助

      程序員合理的組織他的思想。上面的例子對問題合適的陳述應(yīng)為: 設(shè)計一個用于解決聯(lián)立線性方程組的程序,這些方程中未知數(shù)的系數(shù)為實數(shù),最多有 20 個未知數(shù)。

      2.定義程序所需的輸入量和程序所產(chǎn)生的輸出量

      指定輸入量和輸出量,只有這樣新的程序才能適應(yīng)全過程計劃。在這個例子中方程式的

      系數(shù)可能有其預(yù)先存在的順序,我們的新程序必須能按照順序讀取它們。相似地,也需要產(chǎn) 生出這個程序所要求的結(jié)果,即輸出量,我們還要以一定的格式打印出來。

      3.設(shè)計你的程序得以實現(xiàn)的算法

      算法是指為某個問題找到答案一步接一步的程序。在這個階段自上而下的編程方法發(fā)揮

      了作用。編程設(shè)計者開始對這個問題進行邏輯劃分,把它逐步分解為一個又一個子工作。這

      個過程叫做分解(decomposition)。如果一些子工作還是比較大,設(shè)計者還可以把他它分解成

      更小的塊。這個過程將會繼續(xù)到問題被分解成許多簡單且易理解的小塊為止。

      在問題被分解成小塊之后,每一個小塊要被進一步的求精,這個過程叫做逐步求精

      (stepwise refinement)。在這個過程中,設(shè)計者開始于對本小塊代碼總括性的描述,然后開始

      一步一步地定義所需的函數(shù),越來越具體,直到他能夠轉(zhuǎn)化為MATLAB 語句。逐步求精的

      過程中,我們要用到的偽代碼將會在下節(jié)為大家介紹。

      在算法開發(fā)過程中,這個方法是非常有用的。如果設(shè)計者真正理解了解決問題這個些步

      驟,他將會對問題進行分解和逐步求精。4.把算法轉(zhuǎn)化為代碼 如果分解和逐步求精的過程已經(jīng)順利完成,那么這一步將會異常地簡單。所有程序員都

      會將偽代碼一句一句地轉(zhuǎn)化為合適地MATLAB 語句。5 檢測產(chǎn)生的MATLAB 程序

      這一步是真正的攔路虎。首先,程序的每一部分將會被單獨地檢測,如果有可能的話,整個程序還要被檢測一遍。在我們檢測程序時,我們必須證明所有合法輸入數(shù)據(jù)值都能夠正

      常運行。用標(biāo)準(zhǔn)的輸入值檢測程序,看它是否產(chǎn)生了值。如果在一個程序中執(zhí)行的算法包含

      了不同的分支,你必須檢測每一個分支,以保證產(chǎn)生正確的答案。大程序在交付大眾使用之

      前,必須經(jīng)過一系列地檢測(圖3.2)。檢測的第一步有時被稱為單元檢測(unit testing)。在單

      元檢測過程中,程序的子程序?qū)华毩⒌貦z測以證明它的正確性。當(dāng)單元檢測結(jié)束之后,這個程序?qū)⑦M行一系列的組合,把獨立的子程序聯(lián)合產(chǎn)生出最后的程序。程序第一步的聯(lián)合

      通常只包括很少的子程序。通過組合這些子程序,經(jīng)常用檢查子程序或函數(shù)之間的聯(lián)系。在

      一系列地組合過程中,越來越多的子程序被加了進來,直到整個程序的完成。在每一次組合 的過程中,每一個錯誤都會被發(fā)現(xiàn)并在進行下一次組合之前糾正過來。好的編程習(xí)慣

      在我們檢測兩數(shù)值是否相等時一定要小心,因為round off 錯誤可能會使兩個本來應(yīng)該

      相等的值不相等了。這時你可以在round off 錯誤的范圍內(nèi)它是不是近似相等。好的編程習(xí)慣

      if 結(jié)構(gòu)體經(jīng)??s進2 到3 個空格,以增強程序的可讀性。好的編程習(xí)慣

      對于有許多選項的選擇結(jié)構(gòu)來說,最好在一個if 結(jié)構(gòu)中使用多個elseif 語句,盡量不用 if 的嵌套結(jié)構(gòu)。好的編程習(xí)慣

      對于for 循環(huán)體總是要縮進兩個或更多空格,以增強程序的可讀性。好的編程習(xí)慣

      在循環(huán)執(zhí)行開始之前,總是要預(yù)先分配一個數(shù)組,這樣能大大增加循環(huán)運行的速度。好的編程習(xí)慣

      那種既可以用向量可以解決的問題,也可以用循環(huán)解決的問題,最好用向量解決,這

      是因為向量執(zhí)行的速度快。好的編程習(xí)慣

      把大的程序分解成函數(shù),有很多的好處,例如,程序部分的獨立檢測,代碼的可復(fù)用

      性,避免意想不到的錯誤。好的編程習(xí)慣

      最是把全局變量聲明在函數(shù)的開頭,這樣可以區(qū)別于本地變量。好的編程習(xí)慣

      在函數(shù)中的初始注釋行之后和第一個可執(zhí)行性語句之前聲明全局變量。好的編程習(xí)慣

      在兩次函數(shù)調(diào)用之間有持久內(nèi)存保存本地數(shù)據(jù)。好的編程習(xí)慣

      用子函數(shù)或私有函數(shù)來隱藏特殊目的的函數(shù),這些隱藏的函數(shù)只能被其他函數(shù)調(diào)用。

      隱藏這些函數(shù)防止了它們偶然的使用,也能防止與其他公共函數(shù)重名時發(fā)生的沖突。編程隱患

      當(dāng)我們應(yīng)用關(guān)系運算符對復(fù)數(shù)運算時,一定要小心。關(guān)系運算符>,<,<=或>=只比較

      復(fù)數(shù)的實部,而不是它們的模。如果你要用這些關(guān)系運算符對一復(fù)數(shù)進行運算,比較兩復(fù) 數(shù)的模將更加常見。好的編程習(xí)慣

      用char 函數(shù)創(chuàng)建二維字符數(shù)組,我們就不用擔(dān)心每一行的長度不相同了。好的編程習(xí)慣

      當(dāng)你訪問一單元陣列時,不要把()與{}混淆。它們完全不同的運算。編程隱患

      不要創(chuàng)建一個與已存在的數(shù)字?jǐn)?shù)組重名的元陣列。如果得名了,MATLAB 會認(rèn)為你把

      單元陣列的內(nèi)容賦值給一個普通的數(shù)組,這將會產(chǎn)生一個錯誤信息。在創(chuàng)建單元陣列之前,確保同名的數(shù)字?jǐn)?shù)字?jǐn)?shù)組已經(jīng)被刪除。編程隱患

      應(yīng)用函數(shù)text 從ascii 文件中按行格式讀取數(shù)據(jù),這個ascii 文件可能是其他語言生成的,或是由其他的應(yīng)用程序生成的,例如表格。好的編程習(xí)慣

      除非我們必須與非MATLAB 程序進行數(shù)據(jù)交換,存儲和加載文件時,都應(yīng)用mat 文

      件格式。這種格式是高效的且移植性強,它保存了所有MATLAB 數(shù)據(jù)類型的細(xì)節(jié)。好的編程習(xí)慣

      對于那些必須進行人工檢查的數(shù)據(jù),或?qū)τ谀切┍仨氃诓煌挠嬎銠C上運行的數(shù)據(jù),用格式化文件創(chuàng)建數(shù)據(jù)。對于那些不需要進行人工檢查的數(shù)據(jù)且在相同類型的計算機創(chuàng)建

      并運行的數(shù)據(jù),用無格式文件創(chuàng)建數(shù)據(jù),當(dāng)I/O 速度緩慢時,用格式化文件創(chuàng)建數(shù)組。

      第二篇:MATLAB 編程題總結(jié)

      MATLAB 編程題總結(jié)

      LY 1.輸出x,y兩個中值較大的一個值。

      x=input('x=');y=input('y=');if x>y x else y end 2.輸入x,計算y的值。計算函數(shù)的值y???x?1,x?0

      ?2x?1,x?0x=input('x=');if x<0 y=x+1 else y=2*x-1 End 3.輸入一學(xué)生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”

      x=input('x=');if x>100 | x<0 y='輸入錯誤' elseif x>=90 y='優(yōu)秀' elseif x>=80 y='良好' elseif x>=70 y='中等'

      elseif x>=60 y='及格' else

      y='不合格' end

      4.某購物超市節(jié)日期間舉辦購物打折扣的促銷活動,優(yōu)惠辦法是:每位顧客當(dāng)天一次性購物在100元以上者,按九五折優(yōu)惠;在200元以上者,按九折優(yōu)惠;在300元以上者,按八五折優(yōu)惠;在500元以上者,按八折優(yōu)惠。則可以根據(jù)顧客購物款數(shù)計算出優(yōu)惠價。

      x=input('x=');if x>=500

      y=x*0.8 elseif x>=300 y=x*0.85 elseif x>=200 y=x*0.9 else

      y=x*0.95 end

      5.編程計算:S=1+2+3+?+100

      sum=0;

      for i=1:100 sum=sum+i;end sum

      6.計算1~100的奇數(shù)和.sum=0;

      for i=1:2:100 sum=sum+i;end Sum 或

      sum=0;

      for i=1:100

      if mod(i,2)==1 sum=sum+i;end

      end sum

      7.百元買百雞問題。假定小雞每只5角,公雞每只2元,母雞每只3元。現(xiàn)在有100元錢要求買100只雞,編程列出所有可能的購雞方案。

      設(shè)母雞、公雞、小雞各為x、y、z只,根據(jù)題目要求,列出方程為:

      x+y+z=100 3x+2y+0.5z=100

      三個未知數(shù),兩個方程,此題有若干個解。

      for x=1:33

      for y=1:50

      for z=1:200

      if x+y+z==100 & 3*x+2*y+0.5*z==100 [x,y,z] end end end end

      8.我國有13億人口,按人口年增長0.8%計算,多少年后我國人口超過26億。分析:解此問題兩種方法,可根據(jù)公式:26=13*(1+0.008)n

      LiYang

      第 1 頁 / 共 6 頁

      MATLAB 編程題總結(jié)

      LY n=1;m=13;while m<26 m=m*(1+0.008);n=n+1;end n 9.求水仙花數(shù),水仙花數(shù)是指一個 n 位數(shù)(n≥3),它的每個位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)(求出1000以內(nèi))

      for i=100:999 a(1)=fix(i/100);a(2)=fix((i-a(1)*100)/10);a(3)=i-a(1)*100-a(2)*10;if a(1)^3+a(2)^3+a(3)^3==i i end end 10.雞兔同籠問題:雞和兔子關(guān)在一個籠子里,已知共有頭36個,腳100個,求籠內(nèi)關(guān)了多少只兔子和多少只雞?

      for i=1:50 for j=1:36 if i+j==36&i*2+j*4==100 [i,j] end end end 1.用matlab編程求算式xyz+yzz=532中x,y,z的值(其中xyz和yzz分別表

      示一個三位數(shù))。

      for x=1:9

      for y=1:9 for z=1:9

      i=100*x+10*y+z+100*y+10*z+z;

      if i==532 [x,y,z] end end end end

      2.用matlab編程完成用一元人民幣換成一分、兩分、五分的所有兌換方案(即輸出所有的組合方式)。

      for i=0:20

      for j=0:50

      k=100-i*5-j*2;if(k>=0)[i,j,k] end end end

      3.有1020個西瓜,第一天賣一半多兩個,以后每天賣剩下的一半多兩個,問幾天后可以賣完,請用matlab編程計算。

      day=0;x1=1020 while(x1)

      x2=x1/2-2;x1=x2;

      day=day+1;

      end day

      4.有一堆零件(100到200之間),如果分成4個零件一組的,則多2個零件;若分成7個零件一組的,則多3個零件;若分成9個零件一組的,則多5個零件。用matlab編程求這堆零件總數(shù)。

      for i=100:200

      if(mod(i-2,4)==0)

      if(mod(i-3,7)==0)

      if(mod(i-5,9)==0)i end end end end

      5.編寫程序,求1000至9999之間的回文數(shù).回文數(shù)是指正讀與反讀都一樣的數(shù),如1221.for i=1000:1000:9999 for j=0:9

      n=i+j*100+j*10+i/1000 end 6.作函數(shù)

      yend ?sin(x),x?[0,2?]的圖象,用藍色五角星表示點。

      x=0:pi/10:2pi;y=sin(x);

      plot(x,y,’b-p’);

      LiYang

      第 2 頁 / 共 6 頁

      MATLAB 編程題總結(jié)

      LY 1: 編寫M函數(shù) 32f?x?2x?x?6.3, x2?0.05x?3.14計算f(1)f(2)?f2(3)

      function y= fun1(x)y=(x^36.3)/(x^2 + 0.05*x-3.14);fun1(1)*fun1(2)+fun1(3)*fun1(3)ans =-12.6023 2:編寫M函數(shù)??x?1,x?2f(x)???3x,2?x?8?4x?5,8?x?20,??cosx?sinx,x?20計算f(0.1),f(1),f(9),f(22),f(2?)

      function y=fff(x)if x<2 y=x+1;elseif x>=2 & x<=8 y=3*x;elseif x>8 & x<=20 y=4*x-5;else y=cos(x)+sin(x);end 3:根據(jù)pi*pi/6=1/1^2+1/2^2+1/3^2+??+1/n^2,求pi的近似值。當(dāng)n分別取100,1000,10000時,結(jié)果是多少?

      y=0;n=100;

      for i=1:n y=y+1/i/i;end y y =

      1.6350 pi=sqrt(6*y)pi =

      3.1321 y=0;n=1000;for i=1:n y=y+1/i/i;end y y =

      1.6439 pi=sqrt(6*y)pi =

      3.1406 y=0;n=10000;for i=1:n y=y+1/i/i;end y y =

      1.6448 pi=sqrt(6*y)pi =

      3.1415(2)y=0;n=8;

      y=1./2*n-1;y y=

      4:編程求[100,200]之間第一個能被21整除的整數(shù)。

      for n=100:200 if rem(n,21)~=0 continue end break end

      n

      5:編寫函數(shù)文件求半徑為r的圓的面積和周長。

      function [s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;

      6:根據(jù)y=1+11,求: 3?15???2n-1(1)y<3時的最大n值。(2)與(1)的n值對應(yīng)的y值。

      y=1;n=1;while(y<3)n=n+2;y=y+1/n;

      end

      y=y-1/n n=(n+1)/2 運行結(jié)果: y =

      2.9944

      n =

      LiYang

      第 3 頁 / 共 6 頁

      MATLAB 編程題總結(jié)

      LY 57 7: 已知??f1?1,n?1??f2?0,n?2?f3?1,n?3

      ??fn?fn?1?2fn?2?fn?3,n?3求f中:

      1~f100最大值、最小值、各數(shù)之和。

      f(1)=1;f(2)=0;f(3)=1;for i=4:100

      f(i)=f(i-1)-2*f(i-2)+f(i-3);end max(f)min(f)sum(f)

      1.編程計算3+33+333+3333+?..前10項之和。

      m=3;n=0;s=0;for i=1:10 n=10*n+m;s=s+n;end s

      2.編程求

      1-1/2+1/3-1/4+.......+1/99-1/100的值。

      s=0;

      for i=1:100

      s=s+(-1)^(i-1)*1/i;end

      s3.編寫程序,求 1-3+5-7+?-99+101的值。

      s=0;j=1;

      for i=1:2:101

      s=s+(-1)^(j-1)*i;j=j+1;end

      s4.編寫程序,輸出從公元1000年至2000年所有閏年的年號。判斷公元年是否為閏年的條件是:

      (1)公元年數(shù)如能被4整除,而不能被100

      整除,則是閏年;

      (2)公元年數(shù)能被400整除也是閏年。

      for year=1000:2000

      if(mod(year,4)==0&mod(year,100)~=0)|mod(year,400)==0 year end end

      5.將10個整數(shù)輸入到一個數(shù)組中,然后再將

      其按輸入順序的逆序進行排列并輸出。

      for i=1:10

      a(i)=input('x=');end

      for i=10:-1:a(i)end

      6.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地時,共經(jīng)過多少m?第10次反彈多高?

      Sn=100;Hn=Sn/2;for n=0:10

      Sn=Sn+2*Hn;Hn=Hn/2;end Sn Hn

      7.猴子吃桃問題。猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上再想吃時,見只剩一個桃子了。求第一天共摘多少桃子。

      day=9;x=1;while(day>0)x=(x+1)*2;day=day-1;end x

      LiYang

      第 4 頁 / 共 6 頁

      MATLAB 編程題總結(jié)

      LY 附:

      matlab期中試卷及答案

      一、計算題

      1.已知A=[1 2 3;4 5 6;7 8 9],B=[1 5 0;1 0 3;0 3 4],試寫出下列指令運行的結(jié)果: A<=2=,A*B=,A(1, :)*A(:, 3)=。

      2.設(shè)a= [1,-2,3;4,5,9;6,3,-8], b= [2,6,1;-3,2,7;4,8,-1]。

      (1)求a.*b

      (2)求a.^2

      (3)求 2-a

      (4)求a(1:2,2:3)

      (5)求min(a(:))

      二、計算下列程序運行的結(jié)果

      1、mysum=0;i=1;

      while(i<100)

      mysum=mysum+i;

      i=i+1;

      end

      mysum

      2、A=[1,2,3;4,5,6;7,8,9];

      C=[A;[10,11,12]];

      D=C(1:3,[2 3]);

      E=C(1:3,:)

      寫出C、D、E的結(jié)果

      3、x=[0,1,0,10,1,0,1];

      for i=1:7 if x(i)==0

      x(i)=1;

      else

      500≤price<1000

      5%折扣

      x(i)=0;

      1000≤price<2500

      8%折扣

      end

      2500≤price<5000

      10%折扣

      end 5000≤price

      14%折扣

      x

      輸入所售商品的價格,求其實際銷售價格。

      4、c=6;d=[4,0,6;0,8,0];(3)fibonccci數(shù)組的元素滿足fibonacci規(guī)則:

      x=d & c ak+2=ak+ak+1,(k=1,2,…);且a1=a2=1。現(xiàn)要求求出該數(shù)組中

      y=d|c 第一個大于10000的元素。

      z=~d

      (4)計算1!+2!+3!+4!+5?。??。?+n!值的程

      寫出x、y、z的結(jié)果

      序。(n可以自由輸入)

      三、(1)建立M函數(shù)完成下列運算(函數(shù)名為

      五、分析下面程序運行后s1,n1,s2,n2,m的值.jygxfun)

      s1=0;s2=0;n1=0;n2=0

      f(x,y,z)?ze?(x?y)?x?y?z?sin(x?y?3z)x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ];

      m=length(x);(2)若x=1,y=2,z=3,采取調(diào)用jygxfun方式計算

      for i=1:m f值, 試編程.if x(i)<0

      四、(1)編程計算下面問題, x值由鍵盤輸入

      s1=s1+x(i);?2n1=n1+1;

      y??x?1,x?1else ?x2,?1?x?

      1s2=s2+x(i);

      ?

      n2=n2+1;

      (input語句).?x2?1,x??1 end

      end

      (2)某商場對顧客所購買的商品實行打折銷

      s1,n1,s2,n2,m 售,標(biāo)準(zhǔn)如下(商品價格用price來表示):

      2.(1)

      price<200

      沒有折扣

      2-12

      200≤price<500

      3%折扣

      a.*b=-12 10

      24

      LiYang

      第 5 頁 / 共 6 頁

      MATLAB 編程題總結(jié)

      LY(2)1 a.^2= 16 25 81 36 9

      64(3)2-a= 1

      4-1-2

      –7(4)-4

      -1-2 a(1:2,2:3)= 5

      (5)min(a(:))=-8 二1、4950

      2、C =1 10 D = E = 1

      3、x =1

      0

      0

      0

      4、x = 1

      0

      0

      0

      y = 1 z = 0

      0

      0

      三、解:(1)

      function [f]=jygxfun(x,y,z)

      f=z*exp(-(x+y))+sqrt(x+y+z)*sin(x+y+3*z);(2)

      x=1;y=2;z=3;f= jygxfun(x,y,z)

      四、(1)解: x=input('x=?');

      if x>=1

      y=x^2+1;else if x<-1 y=x^2-1;else y=x^2;end end

      y

      (2)price=input('請輸入商品價格');switch fix(price/100)

      0 case {0,1}

      %價格小于200 rate=0;

      case {2,3,4} %價格大于等于200但小于500

      rate=3/100;

      case num2cell(5:9)%價格大于等于500但小于1000

      rate=5/100;

      case num2cell(10:24)%價格大于等于1000但小于2500

      rate=8/100;

      case num2cell(25:49)%價格大于等于2500但小于5000

      rate=10/100;

      otherwise %價格大于等于5000 rate=14/100;end

      price=price*(1-rate)%輸出商品實際銷售價格(3)

      (4)n=input('n=')

      s=0

      for i=1:n

      m=1

      for j=1:i

      m=m*j;

      end

      s=s+m;end s

      五、s1=-31;n1=6;s2=41;n2= 8;m= 14

      LiYang

      第 6 頁 / 共 6 頁

      第三篇:編程習(xí)慣和方法

      1.1 編程思路

      ? [打樁] : 從設(shè)計的角度出發(fā)解決問題,而不是想到一個算法,解決一個功能或部件,一般需,確

      定是否發(fā)現(xiàn)到類,發(fā)現(xiàn)到類,確定需要那些屬性,確定那些方法;

      ? [用例]: 作單獨得測試用例驗證自己的算法,實現(xiàn)類的局部邏輯;

      ? [集成]: 通過測試用例的驗證,集成實現(xiàn)類,或模塊;

      1.2 如下編程習(xí)慣 – 糾正

      ? 通過頻繁的使用編譯器來找錯誤,或驗證程序 不是合格程序員;

      ? 濫用對象,方法的實現(xiàn) 臨時變量泛濫,for, 等語句塊中臨時變量泛濫

      ? 方法實現(xiàn)沒有劃分邏輯段的概念,一氣呵成。

      ? 任務(wù)的完成過程中,產(chǎn)生一堆的過程代碼,提交正式代碼100行,耗用了5000行代碼試驗

      [人海戰(zhàn)術(shù),投入產(chǎn)出比太大]

      ? 一個功能函數(shù)實現(xiàn),到處出現(xiàn),沒有統(tǒng)一的出處概念, 維護成本

      ? 沒有節(jié)約內(nèi)存使用管理意識,泄露太多

      ? 一碰到問題就問,沒有主動思考意識,主觀能動性較差

      ? 一個函數(shù)幾百上千行,成了超級函數(shù),沒有模塊意識;

      ? 函數(shù)的形參龐大,沒有結(jié)構(gòu)意識

      ? c/c++ 體系理解不清,程序中混亂使用;內(nèi)存分配,動態(tài)數(shù)組

      ? 發(fā)現(xiàn)難點,復(fù)雜得地方 繞開,或簡單處理一下;

      ? 編譯問題的解決主觀能動性不夠,一碰到問題頭就大,就問別人;

      ? 一個錯誤多次出現(xiàn)

      ? 喜歡做難的挑戰(zhàn)的任務(wù),消極對待簡單的任務(wù),或不屑做簡單的無難度的任務(wù)

      ? 工作個性化,從網(wǎng)上參考來的代碼沒有消化整理,就使用,界面風(fēng)格偏離太遠

      ? 代碼寫完回頭改規(guī)范

      ? 一個函數(shù)的邏輯實現(xiàn)不徹底,總總修修補補

      ? 技術(shù)泛濫使用,追求時髦的技術(shù)

      ? 缺少耐心看msdn,objectarx 英文資料

      ? 界面沒有美觀好用的意識,只為實現(xiàn)功能,設(shè)計不夠人性化

      ? 程序缺少資源節(jié)約習(xí)慣,類的資源消耗龐大.? 程序錯誤提示框 提示信息模糊不清,太吝嗇表達,或提示太程序員語氣化;

      ? 追求使用一些晦澀的,高難度技巧的代碼

      ? 沒有使用枚舉的習(xí)慣,一大堆 int 值

      ? 非修改維護的代碼(新任務(wù)),提交任務(wù)時殘留大量自己注釋掉的過程代碼;

      ? 獲取容器中的元素,沒有驗證容器的size,直接硬獲取

      ? 類,方法 的命名雖然遵循規(guī)范,但命名晦澀,不準(zhǔn)確。

      ? 沒有構(gòu)造函數(shù)初始化成員屬性的習(xí)慣,包括臨時變量也沒有初始化習(xí)慣;

      ? 結(jié)構(gòu)體中出現(xiàn) 對象,諸如 Cstring 等非原生數(shù)據(jù)類型

      ? 類的屬性習(xí)慣 public,1.3 bug維護認(rèn)識

      ? 簡單的開發(fā)任務(wù)中,也能有大道理,合格的程序員簡單的功能同樣做的偉大。[精耕細(xì)做] ? Bug 維護是程序員成長的捷徑

      第四篇:MATLAB游戲編程實例(拼

      MATLAB游戲編程實例(拼圖)

      這是一個簡單的游戲,只要把數(shù)字按順序排好就可以了。游戲方法是用鼠標(biāo)點中數(shù)字,如果該數(shù)字相鄰的格子為空,則自動移到到該空格。

      本程序是由realghost編寫,如果有問題可以與 slqinyi@163.com 聯(lián)系。

      附圖如下:

      function pintu1()A = gen()

      G = [1 2 3;4 5 6;7 8 0];drawmap(A);

      while 1

      [xpos,ypos] = ginput(1);col = ceil(xpos);row = 3-ceil(ypos)+1;num = A(row,col);

      if row>1&A(row-1,col)==0 A(row-1,col)= num;

      A(row,col)= 0;

      end

      if row<3&A(row+1,col)==0 A(row+1,col)= num;A(row,col)= 0;

      end

      if col>1&A(row,col-1)==0 A(row,col-1)= num;A(row,col)= 0;

      end

      if col<3&A(row,col+1)==0 A(row,col+1)= num;A(row,col)= 0;

      end

      drawmap(A)

      zt = abs(A-G);

      if sum(zt(:))==0

      msgbox('??ò??-3é1|?′o?í?£?')break

      end end

      function drawmap(A)clf;hold on

      line([0 3],[0 0],'linewidth',4);line([3 3],[0 3],'linewidth',4);line([0 3],[3 3],'linewidth',4);line([0 0],[0 3],'linewidth',4);

      for i = 1:3

      for j = 1:3

      drawrect([j-1 3-i],[j 3-i],[j 3-i+1],[j-1 3-i+1],'y',A(i,j));

      end end

      axis equal axis off

      function drawrect(x1,x2,x3,x4,color,num)x = [x1(1)x2(1)x3(1)x4(1)];y = [x1(2)x2(2)x3(2)x4(2)];fill(x,y,color)if num==0

      text(0.5*(x1(1)+x2(1)),0.5*(x1(2)+x4(2)),' ','fontsize',24)else

      text(0.5*(x1(1)+x2(1))-0.05,0.5*(x1(2)+x4(2)),num2str(num),'fontsize',24)end

      function y = gen()y = inf*ones(1,9);for i = 1:9

      while 1

      a = randint(1,1,9);

      if isempty(find(y==a))y(i)= a;break

      end

      end end

      y = reshape(y,3,3);

      當(dāng)然可以啦,其實圖像就是數(shù)字矩陣,圖像的拼接就是矩陣的拼接,橫著拼得行數(shù)相等,豎著拼得列數(shù)相等就行

      例子

      clc;clear;

      a=imread('我的圖片.jpg');[m n t]=size(a);

      b=a(1:fix(m/2),:,:);%取圖像的上半部分

      c=a(fix(m/2)+1:end,:,:);%取圖像的下半部分

      figure(1);imshow(b);

      figure(2);imshow(c);

      %注意,上下拼接要求兩幅圖的列數(shù)要相同 %左右拼行數(shù)要相同

      figure(3);d=[b;c];%把b,c拼起來,若左右拼接d=[b,c];imshow(d);

      第五篇:matlab總結(jié)

      班級: 學(xué)號: 姓名:

      Matlab學(xué)習(xí)綜述

      MATLAB是一種科學(xué)計算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計算和強大的數(shù)據(jù)可視化功能集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計工作,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對MATLAB的功能進行擴充。

      MATLAB產(chǎn)品由若干個模塊組成,不同的模塊完成不同的功能,其中主要的核心模塊有MATLAB、MATLAB Toolboxex、MATLAB Compiler Simulink、Simulink Blocksets、Real-time Workshop(RTW)Stateflow。這些產(chǎn)品大體上可以分為以MATLAB為基礎(chǔ)的產(chǎn)品和以Simulink為基礎(chǔ)的產(chǎn)品兩大分支。其中,MATLAB是MATLAB產(chǎn)品家族的基礎(chǔ),任何其他MATLAB產(chǎn)品產(chǎn)品都以這個模塊為基礎(chǔ)。MATLAB的桌面應(yīng)用程序開發(fā)工具是以MATLAB Compiler為核心的一組編譯工具。Simulink是基于MATLAB的框圖設(shè)計環(huán)境,可以用來對各種動態(tài)系統(tǒng)進行建模,分析和仿真,它的建模范圍廣泛,可以針對任何能夠用數(shù)字來描述的系統(tǒng)進行建模。

      一種完整的計算機應(yīng)用語言應(yīng)該提供對數(shù)據(jù)的描述和對數(shù)據(jù)的操作。在M語言中,最常用的數(shù)據(jù)類型表現(xiàn)手段和形式就是變量和常量,由于MATLAB軟件自身的特點,它是一種以數(shù)值計算為基礎(chǔ)的軟件,因此M語言的基本處理單位是數(shù)值矩陣或者數(shù)值向量,在M語言中統(tǒng)一將矩陣或者向量稱之為數(shù)組,因此掌握一些基本的矩陣、向量和數(shù)組操作的基本知識就成為了掌握MATLAB軟件的基礎(chǔ)。變量和常量是編程語言中類型的表現(xiàn)手段和形式,掌握變量和常量的概念也是掌握M語言編程的基礎(chǔ)。所謂變量,就是指在程序運行中需要改變數(shù)值的量,每一個變量都具有一個名字,變量將在內(nèi)存中占據(jù)一定的空間,以在程序運行的過程中保存其數(shù)值,對變量的命名有相應(yīng)的要求:變量必須以字母開頭,后面可以是字母、數(shù)字或者下劃線之間的組合。所謂常量就是在程序運行的過程中不需要改變數(shù)值的量。

      MATLAB專門以矩陣作為基本的運算單位,首先要掌握向量、矩陣、索引和多維數(shù)組的概念,以及在MATLAB環(huán)境下創(chuàng)建向量、矩陣和多維數(shù)組的方法,以及操作矩陣和多維數(shù)值的函數(shù)的使用方法。

      目前的MATLAB版本中不僅有多達十幾種的基本數(shù)據(jù)類型。在不同的專業(yè)工具箱中還有特殊的數(shù)據(jù)類型,并且MATLAB還支持面向?qū)ο蟮木幊碳夹g(shù),支持用戶自定義的數(shù)據(jù)類型。獲取MATLAB的數(shù)據(jù)類型可以在MATLAB命令行窗體中鍵入help datatypes。MATLAB的數(shù)據(jù)類型包括基本的數(shù)值類型,邏輯類型數(shù)據(jù)、元胞數(shù)值、結(jié)構(gòu)和字符串等,需要指出一點,MATLAB的基本數(shù)據(jù)是雙精度數(shù)據(jù)類型和字符類型。MATLAB提供了完整的編寫應(yīng)用程序的功能,這種能力被稱為M語言的高級語言來實現(xiàn)。這種語言是一種解釋性語言,利用該語言編寫的代碼僅能被MATLAB接受,被MATLAB解釋執(zhí)行。其實,一個M語言文件就是由若干MATLAB的命令組合在一起構(gòu)成的,和C語言類似。M語言文件都是標(biāo)準(zhǔn)的純文本格式的文件,其文件的擴展名為.m。MATLAB的函數(shù)主要有兩類,一類被稱為內(nèi)建函數(shù),這類函數(shù)是由MATLAB的內(nèi)核提供的,能夠完成基本的運算,例如三角函數(shù)、矩陣運算函數(shù)等。另外一類函數(shù)就是利用高級語言開發(fā)的函數(shù)文件,這里的函數(shù)文件包括用C/FORTRAN語言開發(fā)的MEX函數(shù)文件,也包括了M函數(shù)文件。

      M語言文件可以分為兩類,其中一類是腳本文件,另一類是函數(shù)文件,腳本文件是最簡單的一種M語言文件。所謂腳本文件就是由一系列的M語言文件指令和命令組成的純文本格式的M文件,執(zhí)行腳本文件時,文件中的指令或者命令按照出現(xiàn)在腳本文件中的順序依次執(zhí)行。腳本文件沒有輸入?yún)?shù),也沒有輸出參數(shù),腳本文件處理的數(shù)據(jù)或者變量必須在MATLAB的公共工作空間中,腳本文件主要是由注視行和代碼行組成。

      函數(shù)文件是M文件最重要的組成部分,M語言函數(shù)文件能夠接受用戶的輸入?yún)?shù),并進行計算,然后將計算結(jié)果作為函數(shù)的返回值返回給調(diào)用者,M函數(shù)文件和腳本文件不同,函數(shù)文件不僅有自己特殊的文件格式,而且不同的函數(shù)還分別具有自己的工作空間,函數(shù)文件的輸/輸出參數(shù)不同,這些輸入/輸出參數(shù)在定義的時候不需要指出變量的類型,因為MATLAB默認(rèn)這些參數(shù)都使用雙精度類型,這樣可以簡化程序的編寫。M語言的函數(shù)文件不僅可以有一個輸入?yún)?shù)和一個返回值,還可以為M語言函數(shù)文件定義多個輸入?yún)?shù)和多個輸出參數(shù),同一個M函數(shù)文件中可以包含多個函數(shù)。如果在同一個M函數(shù)文件中包含了多個函數(shù),那么將出現(xiàn)在文件中的第一個M函數(shù)稱為主函數(shù),其余的函數(shù)稱為子函數(shù)。

      經(jīng)過這么一段時間的學(xué)習(xí),對MATLAB有了初步的認(rèn)識。但是關(guān)于它還有很多知識我們所不知道,還有待進一步的學(xué)習(xí)。以上內(nèi)容是我對這學(xué)期所學(xué)課程的總結(jié),可能有些地方總結(jié)的不夠到位,因為有些地方學(xué)習(xí)的不夠深入,所以,以后要更加努力,在MATLAB的學(xué)習(xí)上多花一些時間,為以后的學(xué)習(xí)和工作打下基礎(chǔ)。

      下載Matlab編程習(xí)慣總結(jié)[5篇材料]word格式文檔
      下載Matlab編程習(xí)慣總結(jié)[5篇材料].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        MATLAB總結(jié)

        目錄 一、Matlab相關(guān)說明 ..................................................................... 2 二、Matlab操作注意事項 ...............................................

        Matlab學(xué)習(xí)心得系列——002. Matlab編程思想——向量化編程

        002. Matlab編程思想——向量化編程 C語言的基本元素是單數(shù)值(比如單變量或數(shù)組里的元素),再加上其結(jié)構(gòu)化的特點,決定了通常C語言程序大都充斥著大量羅嗦的單變量循環(huán)和判斷語......

        Matlab學(xué)習(xí)總結(jié)

        學(xué)Matlab有感 姓名:王鴻棟 學(xué)號:20090286 班級: 03310901 我對于計算機編程接觸的比較晚,也沒有特別大的興趣。不過對于Matlab這門課我還是很喜歡的。一是這個語言可以變出程序......

        Matlab常用指令總結(jié)

        概論 format long顯示更多位數(shù) format short顯示少位數(shù) format hex將數(shù)字顯示為十六進制浮點數(shù),(3fb999999999999a,a-f代表十六進制數(shù),前三字符為) double()將數(shù)字轉(zhuǎn)化為雙精度浮......

        MATLAB知識總結(jié)

        1、命令x=0:0.2:2中的賦值格式是matlab常用的變量賦值格式,其中0表示初始值,0.2表示增量,而2表示終止值。若數(shù)組x無規(guī)律可循,那么x賦值得逐一輸入單個元素了,這時要使用賦值格式......

        matlab基礎(chǔ)總結(jié)

        Matlab程序設(shè)計的一般步驟: 1、陳述問題 2、定義輸入和輸出量 3、定義算法 4、把算法轉(zhuǎn)化為matlab語句 5、檢測產(chǎn)生的matlab程序 數(shù)組與變量: 1、數(shù)組中數(shù)據(jù)的訪問a(行標(biāo) 列標(biāo)......

        MATLAB課程總結(jié)

        MATLAB課程總結(jié) 班級:14級電子信息與科學(xué)技術(shù) 姓名:孫凱 學(xué)號 201442398 在過去的兩個月里,我們學(xué)習(xí)了MATLAB教程這一門課程,對此我有一些自己的思考與感悟。 通過學(xué)習(xí),我們了......

        學(xué)習(xí)matlab總結(jié)(定稿)

        繪圖函數(shù) bar 豎直條圖 barh 水平條圖 hist 直方圖 histc 直方圖計數(shù) hold 保持當(dāng)前圖形 loglog x,y對數(shù)坐標(biāo)圖 pie 餅狀圖 plot 繪二維圖 polar 極坐標(biāo)圖 semilogy y軸對數(shù)......