[英]MatLab: Variable assigned during function can be used in another function
我有一個輸出q的函數。 此函數將生成矩陣A,以便找到q。 矩陣A是100x100x100,因此運行此代碼需要很長時間,我想用A中的信息進行(大量)其他計算,而不必一遍又一遍地運行該代碼。
有沒有辦法讓q和A(q的尺寸為100x1)可以在另一個函數中訪問而不必每次都運行原始函數?
我雖然使用“全球”,但我不確定它是如何工作的。
您可以使用
assignin('base', 'var1', var1)
在基礎工作空間中分配變量var
。 這將允許您將其解析為其他功能,它將持續存在。
或者你可以簡單地返回它:
function [other_vars var1] = theFunk(input)
然后在其他函數中使用它可以使它成為全局函數:
global VAR_GLOBAL = var;
並在您的功能使用:
function [stuff] = someOtherFunction(input)
global VAR_GLOBAL
% Do some stuff with VAR_GLOBAL
或者只是將其傳遞給您的其他功能:
function [stuff] = someOtherFunction(input, var1)
在我看來,你的功能是做兩件事,需要一些重構......
考慮將計算矩陣A
的部分提取到單獨的函數中。 另一個函數將生成的矩陣A
作為輸入並計算輸出q
。 否則稱為“Extract Till You Drop”原則:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.