簡體   English   中英

將 am 文件中的定義加載到 GNU Octave 工作區

[英]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的方式:

saveload命令可用於存儲工作區的 state。

例如,如果您在工作區中定義了變量:

>> c = 4
c =  4

>> d = 5
d =  5

您可以使用 save 命令保存這兩個變量:

>> save myvariables.mat

這會將cd保存到提到的文件中。 稍后可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM