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甩下,明白了嗎?在這個四核剛開始普及的時代 選擇四核沒錯 畢竟還沒有為六核優化和開發的軟體和東...