[英]Load definitions in a .m file into GNU Octave workspace
我寫了一個定義了許多矩陣的文件。 現在,我想添加其中的一些,並進行一些其他操作。 現在我可以在文件本身中編寫這些操作並在 octave-cli 中運行以查看結果,但我想加載定義,並在 octave GUI 的輸入字段中一一進行操作(類似於可以在數學筆記本中完成),但我不想再次在 octave gui 中手動輸入所有行。 如何將線條加載到 octave 的工作區?
例如,假設somedefinitions.m
的內容是
function somedefinitions()
c = 4;
d = 5;
現在我希望將其加載到 octave gui,並希望在輸入字段中評估 c+d、c*d 等(但我不想在 octave-gui 中手動編寫 c 和 d 的定義)。
這個怎么做? 我嘗試load somedefinitions.m
但這表示它無法確定文件格式。
您無法加載somedefinitions
,因為它不是數據。 如果您調用文件somedefinitions.m
但不將其設為 function,那么您可以在主代碼中調用somedefinitions
。 這將執行somedefinitions.m
中的所有內容並將其加載到工作區中。 然后你可以在命令 window 中做任何你想做的事情。 你現在不能這樣做,因為函數有自己的工作空間,所以即使你不這樣做,變量也會在一些定義中somedefinitions
,但在完成時會被刪除。 簡而言之,刪除示例的第一行,然后調用該腳本。
只是為了添加另一種以您最初預期的方式使用load
的方式:
save
和load
命令可用於存儲工作區的 state。
例如,如果您在工作區中定義了變量:
>> c = 4
c = 4
>> d = 5
d = 5
您可以使用 save 命令保存這兩個變量:
>> save myvariables.mat
這會將c
和d
保存到提到的文件中。 稍后可以使用load
將它們檢索回工作區。 例如:
清除工作區並驗證它是空的:
>> clear
>> whos
將保存的變量加載回:
>> load myvariables.mat
>> whos
Variables in the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
c 1x1 8 double
d 1x1 8 double
在此之后,您可以對變量執行任何您想要的操作。
上面安德的方法也可以。 在這種情況下,您將保存一個腳本文件(不是函數),它只是保存在 m 文件中的命令列表,然后 Octave 可以從命令行執行。 他的方法的優點是很容易修改變量的創建,並且保留了變量的創建方法。 如果工作空間包含需要大量時間的復雜計算的 output,那么保存工作空間可能是一種節省時間的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.