1樓:楊好巨蟹座
在matlab中可以用textread命令來控制從第n行開始讀取資料。比如輸出的原始資料,第1行是空白資料,第2行是資料名稱,第3行是空白行,而有用資料是從第4行開始,如下所示:
vgs getdata("p2:id getdata("p2:gm getdata("p2:gd getdata("p2:vt
0.00000e+00 -2.02811e-14 2.35844e-13 1.23904e-14 -8.09185e-01
可用下面語句讀取這些資料:
d=textread('nmos_vgs.dat', '' , 'headerlines', 2) %意味著讀取資料的時候跳過前2行。
或者:d=textread('nmos_vgs.dat', '' , 'headerlines', 3) %意味著讀取資料的時候跳過前3行。
(這說明textread命令似能自動跳過資料段落的空白行?)
順手轉一段網上的關於textread命令的詳細解釋。
實際應用中經常要讀取txt檔案,這個時候就需要用到強大的textread函式。
它的基本語法是:
[a,b,c,...] = textread(filename,format)
[a,b,c,...] = textread(filename,format,n)
其中filename就是檔名, format就是要讀取的格式,a,b,c就是從檔案中讀取到的資料。中括號裡面變數的個數必須和format中定義的個數相同。如果每n行相同格式的資料,可採用[a,b,c,...
] = textread(filename,format,n)的語法,讀取n次。
舉例如下:
例子1:myfile.txt 中的內容如下:
1 2 3 4
5 6 7 8
9 10 11 12
相應的語句為:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');
或者為filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);
例子2:myfile.txt 中的內容如下:
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
相應的語句為:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',');
這裡delimiter指出分隔符,讀資料的時候會自動跳過分隔符。
2樓:匿名使用者
給你提供一下思路,裡面用到的函式自己help一下:
1、輸出編號使用num2str,將double型別轉化為字元;
2、寫入文字使用fprintf函式
3、加入你的序號是「
一、二、三……」這一類的,那就寫個字元陣列,或者是字元元胞陣列(cell)。每次迴圈挨個呼叫不同元素
3樓:匿名使用者
加「 ....」就ok了
matlab中字串和變數一起顯示輸出
4樓:紫冰雨的季節
matlab 字串和變數名相互轉化
字串轉換成變數名
1. eval:把字串當命令來執行
例子:>> namesource=[10 20 30];
字串轉換成變數名
1. eval:把字串當命令來執行
例子:>> namesource=[10 20 30];
for i=1:3
name=['varname',num2str(i)];
eval([name,'=namesource(i)'])end;
varname1 =
10varname2 =
20varname3 =
302. 加小括號(只適用於結構struct)結構體的域名field,字串可以加小括號轉換成域名,例:
>> a=['www',num2str(1)];
>> b.(a)=10
b =www1: 10
變數名轉換成字串
who返回變數名,例:
>> a1=123;a2=1234;a3=444;>> b=who('a*') %返回的b是cell結構的b = 'a1' 'a2' 'a3'
5樓:奧巴馬康熙
程式如下:
unction mmt1
% 初始化變數x,並列印
x = 5;
printvar( x );
% 這個函式的功能就是提取變數的名
稱,function printvar( var )disp( [ inputname( 1 ), '=', num2str( var ) ] );
執行後得到結果:
>> shiyan1
6樓:匿名使用者
function shiyan1
% 初始化變數x,並列印
x = 5;
printvar( x );
% 這個函式的功能就是提取變數的名稱,病列印function printvar( var )disp( [ inputname( 1 ), '=', num2str( var ) ] );
執行後得到結果:
>> shiyan1x=5
matlab輸出有字元和資料的單元陣列到txt檔案
7樓:匿名使用者
%生成一個隨機數抄矩陣
r=rand(10,3);
%建立檔案
fid = fopen('test.txt','wt');
%寫頭部
fprintf(fid,'%s','wo ni ta');
fprintf(fid,'%c\n',' '); %換行baidu
%依次寫入數zhi據
for k=1:10;
for m=1:3
p=num2str(r(k,m));
fprintf(fid,'%s ',p); %每個資料用空格dao隔開
endfprintf(fid,'%c\n',' '); %寫完一行,換行
endfclose(fid); %關閉檔案
如何將matlab執行結果寫入txt檔案
8樓:水江小強
a = [1,2,3,4,5,6,7,8,9];
fp = fopen('d:\ztq.txt','wt');
for i =1 : 9
fprintf(fp, '%d', a(i));
endfclose(fp);
將陣列a匯入
到d盤中的版ztq.txt中。權
9樓:匿名使用者
最初等的函式是fprintf
高階函式有csvwrite和dlmwrite
matlab中怎麼輸出一個變數的值
10樓:昱婷漫步
最簡單的方式是以變數名為語句,且不加分號,如a=magic(3);則語句
a執行結果是在命令列視窗輸出:
a =8 1 6
3 5 7
4 9 2
11樓:安可丶摘星辰
你可以將a = [1,2,3,4,5,6] 賦值給b ,即 b = [1,2,3,4,5,6]
然後a = strvcat(『變數a的值為:』,num2str(b));
12樓:虎牙姑娘
在matlab中,可以使用sprintf來格式化輸出變數。
matlab的sprintf用法幾乎和c中的printf一樣,引數都是printf(format,a,...)
matlab的sprintf會返回一個字串,當不使用分號;時,可以直接在螢幕輸出。
matlab的sprintf語法為[s, errmsg] = sprintf(format, a, ...)
可以把矩陣a做資料格式的轉換,格式就是format引數。
例子:str = [65 66 67 pi];
sprintf('%s %f', str)可得:ans =
abc 3.141593
13樓:匿名使用者
回答我想到了~functionx=myout(a,b,c,d)symsx;symst;x=a*cos(b*t)+c*sin(d*t);你打下myout( , , , )試試~保證你滿意~答案 ::請教如何實現輸出的表示式中帶有命令,比如y= -normcdf(x):::::::::::::::::::請參考以下相關問題:::::::::::::::::::::::::::::::::::::::
請參考以下相關問題::::::::::::::::::::matlab將一個函式表示式定義成函式:::::::::::::::::::請參考以下相關問題::::::::::::::::::::
如何用matlab畫函式圖象並輸出函式表暢頂扳僱殖概幫誰爆京達式:::::::::::::::::::請參考以下相關問題::::::::::::::::::::擬合之後怎麼把因變數的值和擬合的函式表示式輸出來matlab:::::::::::::::::::
請參考以下相關問題::::::::::::::::::::用matlab求函式表示式答案 ::電腦沒那麼聰明的~小改一下追問這個我也想到了,只是實際函式不止abcd這幾個係數,我覺得挺麻煩的你說電腦沒那麼聰明,意思就是matlab不能實現直接輸出函式表示式是吧~就不能我把係數、自變數都設定清楚,然後通過某種機制直接輸出嗎?
14樓:心優優
1、很簡單啊. 2、比如我們輸出一個函式f=a*sin(x)-b*exp(c*x)這種表示式,a,b,c是你輸入的任何引數. (1)你寫上如下**的m檔案 function f=dispf(a,b,c) syms x; f=a*sin(x)-b*exp(c*x); end (2)現在你直接在命令視窗輸入命令dispf就可以
15樓:匿名使用者
matlab中,有資料擬合工具箱,可在命令視窗輸入cftool開啟,將資料匯入後,裡面提供了多種擬合函式,如多項式、exp、 角函式等等,並繪圖顯示擬合結果
c程式輸出字串變數時為什麼會出錯直接輸出
因為沒有加 include 對string過載輸出流不被支援。以下兩者任選一種方式解決 1.加上 include 2.把 按如下方式來改寫 include include include using namespace std void main 兩種方式都可以,隨便選一種。因為你定義字串變數的型別...
既然Get Put Char只能輸入輸出字元,那返回輸出字元ASC2什麼意思
getchar返回的是int型。實際值是字元的ascii碼值。事實上 char存的也是ascii碼值。之所以擴充套件到int是為了表示出錯。當讀取出錯的時候 會返回 1,也就是eof如果用char做返回值,那麼會和0xff也就是ascii碼值為255的混淆。getchar,是讀取一個字元,返回一個整...
c語言怎麼用printf輸出字串
printf函式的一般格式 printf 格式控制字串,輸出表列 以圖1所示為例。圖1.函式引數包括兩部分 1 格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。它包括兩種資訊 格式說明項 由 和格式字元組成,如 d,f等。格式說明總是由 字元開始,到格式字元終...