本人小白,求助怎麼在Matlab中分別輸入變數後再進行計算

2021-03-20 18:00:07 字數 6039 閱讀 7445

1樓:

可定義臨時函式,格式及呼叫方法如下(以公式v=a*b*c為例):

v=@(a,b,c)a*b*c;

% 若a=2,b=3,c=4

v(2,3,4)

結果為ans =

24你複製上面的第2到第4行**,在matlab中直接執行就知道了。

進一步解釋:上面的v相當於函式名,@是建立臨時函式的標誌,(a,b,c)則是自變數,a*b*c是公式的表示式

2樓:匿名使用者

新建m檔案,直接輸入

a=2b=3

c=dv=a*b*c

難道你需要的不是這樣?

3樓:匿名使用者

clear;

clc;

a = input('請輸入長 a = ');

b = input('請輸入寬 b = ');

c = input('請輸入長 c = ');

fprintf('體積v = %2.2f\n',a*b*c);

結果:請輸入長 a = 1

請輸入寬 b = 2

請輸入長 c = 3

體積v = 6.00

怎麼讓matlab直接顯示計算的結果

4樓:匿名使用者

不要在語句後面加上分號就可以直接顯示結果

5樓:恩惠妮阿加西

當輸入命令後顯示的ans就是計算結果了.

關於ans:

一、什麼是ans

ans是matlab中預設的結果變數. 每次matlab進行運算後, 結果都要儲存在指定的變數中. 如果只是輸入表示式, 卻不指定把表示式的運算結果儲存在那個變數裡面, 那麼matlab就自 動地將結果儲存在ans變數中.

直到下一次不帶指定儲存變數的運算結束前, ans中所儲存的值不變. 因此, 可以在下一次運算中用ans呼叫上一次運算的結果.

二、ans的值

當m檔案中出現非賦值性的計算時,matlab會把結果自動存入ans,例如1+2^2,執行結果就是ans=5。如果m檔案中每一個計算都是賦值的,即所計算的結果都是儲存在自己設定的變數中的,那麼ans一直沒有得到使用,就會一直是1。

三、經常遇到的出現ans的情況

1、如果對某個變數進行賦值計算,沒有在後面加分號結束該計算,運算結果會自動以ans顯示該值,如 y = 9或y = 9 x = 10;

運算結果中會自動出現ans = 9,即使並沒有要求將其輸出,如果是迭代運算,則ans會反覆出現。

2、如果檔名由純數字組成,則計算結果自動為ans = 檔名

3、另外一種是執行的時候總有ans=1出現,可能是把elseif寫成了else,所以出來ans=1,加上以後就沒有ans=1了。

如果是elseif後面還會跟一個判斷,而一般else是沒有的。如果將elseif錯寫為else,後面會跟一個判斷的。

6樓:浙師山東人

把你的源程式發一下,我看看

小白求教matlab如何定義兩個變數a、b,並且讓a>b>0

7樓:我行我素

syms x a b

>> assume(a>b)

>> assume(b>0)

>> s=int('log(a*x-b)',b/a,1)warning: explicit integral could not be found.

s =int(log(a*x - b), x == b/a..1)就是說,得不出明確結果

8樓:轉基因牛

相當於對ln(ax-b)和a-b>0做積分

小白求助matlab如何畫一元二次方程組的圖,具體問題如下:

9樓:匿名使用者

matlab畫x關於a,b的三維圖

,y關於a,b的三維圖和z關於a,b的三維圖的步驟:

1、首先用solve()函式,求出x,y,z的表示式。x,y,z的表示式分別有三個,即x1(a,b);x2(a,b);x3(a,b);y1(a,b);y2(a,b);y3(a,b);z1(a,b);z2(a,b);z3(a,b)

2、將a,b生成各自的節點。a=0:0.1:5;b=5:0.1:103、生成a—b面上的網格

4、分別計算a—b面上各網格點的xi,yi,zi軸高度執行結果

因執行**比較長,如需要可以私聊提供。

matlab小白求助,在定義自變數x的時候,以下指令 x=0: .1*pi: 2*pi; 倆引號之間的 .1*pi 怎麼理解呀??

10樓:匿名使用者

在定義自變數x的時候,以下指令 x=0: .1*pi: 2*pi; 倆引號之間的 .1*pi 可以這樣來理解:

.1*pi ,即 0.1*pi .就是說等分x【0,2π】區間若干份的間距。簡單的說,x從初值0,以 0.1*pi的增量,遞增到終值2*pi。

matlab怎麼將點雲資料用最小二乘方法擬合出平面

11樓:匿名使用者

**供參考(你只需要最後兩行):

% 生成測試資料

x = randn(5241,1);

y = randn(5241,1);

% 平面方程

z = -0.5*x+0.6*y+0.7;

% 資料加入噪聲

z = z + randn(5241,1)*0.1;

% 資料擬合

f=inline('c(1)*x(:,1)+c(2)*x(:,2)+c(3)','c','x');

c=lsqcurvefit(f,[1 1 1],[x y],z)

12樓:

[線性解法]:

設平面方程ax+by+cz+d=0, 兩邊同除以d,有:ax+by+cz = -1

然後就可以做線性最小二乘了:

h = [x y z];

y = -ones(size(x));

p = h\y;

得到的p是一個長度3的向量,分別是[a; b; c]

13樓:濮方須志行

問題沒有交代清楚。x,y分別是第

一、二列資料嗎?其餘都是z的資料?請說明這樣才好回答你。

matlab如何向矩陣裡面輸入變數

14樓:楓簫

syms a1 a2;

a=[a1,a2];

這樣就可以了

求用matlab顯示灰度影象的直方圖的操作詳細步驟,小白求!

15樓:笑臉藍雨

1、開啟matlab需要處理的影象,然後再下面寫出**是:pic[i,j]=(255)/(u*v)*sum(c[:int(img[i,j])])。

2、然後接下來就可以看到影象均衡化的**。

3、最後,畫出均衡化**的直方圖如圖所示,衡化前後,**對比一下,這樣就可以解決問題了。

如何用matlab計算二值化圖中白色區域的畫素點個數

16樓:一個青年

計算原理如下:

假設一副二值**,其背景是黑色的,而邊緣是白色的,而且白色邊緣中不包含黑色的點,就如附件中的那個影象。

程式原始碼如下:

%% step 1

clear all

clci=imread('test.bmp');%讀入**

bwi=im2bw(i,0.5);%轉化為二值影象

l=bwlabel(bwi,4);%將四連通區域進行標記

[r,c]=find(l==1);%查詢其中的白色區域,r是白點的所在行組成的向量,c是白點所在的列組成的向量

%% step 2 %去除r中重複的數

new_r=;

for i=1:length(r)

nn=find(new_r==r(i));

if isempty(nn),new_r=[new_r r(i)];end

end%% step 3

sum_zeros=0;%輪廓中總的點的個數

for i=1:length(new_r)

n=find(bwi(new_r(i),:)==1);%查詢有白點的行中白點所在的位置

if length(n)==1,continue;end%如果該行中只有一個白點,則返回

num_zeros=n(end)-n(1)+1-length(n);%否則計算夾在白點之間的黑點的個數

sum_zeros=sum_zeros+num_zeros;

end二值化圖例項如下(即黑白兩色):

擴充套件資料:

c語言實現原始碼:

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/imgproc/imgproc.hpp"

#include "opencv2/core/core.hpp"

#include

#include

#include "cv.h"

#include "highgui.h"

#include

#include

#include

#include

using namespace std;

using namespace cv;

//統計一幅**中白色畫素點和黑色畫素點佔整幅圖的比例

int bsums(mat src)

else

}double bilib = counter * 1.0 / n * 1.0 * 100 * 1.0;

double bilih = black * 1.0 / n * 1.0 * 100 * 1.0;

cout << "counter:" << counter << endl;

cout << "black:" << black << endl;

cout << "n:" << n << endl;

cout << "bilib:" << bilib << endl;

cout << "bilih:" << bilih << endl;

return counter;

}int main(int agrc, char** agrv)

17樓:shine戚七七

下面是一個簡單的計算輪廓包含起來的畫素點的個數的程式:

%% step 1

clear all

clci=imread('test.bmp');%讀入**

bwi=im2bw(i,0.5);%轉化為二值影象

l=bwlabel(bwi,4);%將四連通區域進行標記

[r,c]=find(l==1);%查詢其中的白色區域,r是白點的所在行組成的向量,c是白點所在的列組成的向量

%% step 2 %去除r中重複的數

new_r=;

for i=1:length(r)

nn=find(new_r==r(i));

if isempty(nn),new_r=[new_r r(i)];end

end%% step 3

sum_zeros=0;%輪廓中總的點的個數

for i=1:length(new_r)

n=find(bwi(new_r(i),:)==1);%查詢有白點的行中白點所在的位置

if length(n)==1,continue;end%如果該行中只有一個白點,則返回

num_zeros=n(end)-n(1)+1-length(n);%否則計算夾在白點之間的黑點的個數

sum_zeros=sum_zeros+num_zeros;

end就是這樣的,比如這一行是這樣的001110000011100,那麼step3中的n就是一個向量:3 4 5 11 12 13,這六個數分別是這行中白點的位置,那麼其中的夾在1之間的0的個數就是:13-3+1-6=5 。

有ps4玩家嘛,本人小白,怎麼聯機

聯機需要psn會員,確定下是否開了會員。如果聯機效果不好,可以試試用聯機寶,主機專用的加速硬體,插上設定好就能加速了,簡單方便,絲般順滑,能解決各種聯機問題 ps4怎麼進行雙人手柄聯機 1 首先開啟主機,用資料線連線主機和手柄,然後開啟手柄開關,將該手柄連線到主機。2 接著,你可以把第一個手柄的資料...

明天去相親,本人小白,求步驟

謙虛禮貌,自己先到,人來了,介紹自己的名字,年齡,身高,反正就是個人資料唄,對方要是大方得體的女生,也會和你說,她的個人資訊。然後就是正常聊天唄,聊聊她平時下班都幹什麼,看什麼電視劇之類的,跟著她的節奏聊。再講講自己的個人愛好,比如健身之類的。再之後,吃飯吃差不多了,就該送她回去了。請採納 儀容儀表...

跪求各位大蝦指點有關電腦配置問題,本人小白

cpu換個吧,amd羿龍六核1055t 這就是amd的田忌賽馬策略 無奈自己的架構和技術不如intel 只能用六核來對抗對手的四核 在一些測試中和對手接近 但也是接近而已 amd六核也只是和i5持平 被i7甩下,明白了嗎?在這個四核剛開始普及的時代 選擇四核沒錯 畢竟還沒有為六核優化和開發的軟體和東...