matlab如何輸出字元和變數並寫入文字

2021-03-31 22:34:00 字數 5486 閱讀 8707

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等。格式說明總是由 字元開始,到格式字元終...