簡體   English   中英

發布MATLAB命令時“輸入參數不足”

[英]“Not enough input arguments” when publishing MATLAB commands

我編寫了以下代碼:

function [a1,b1,a0,b0] = Conformal_2D(x_input,y_input,X_output,Y_output)
%%
% Calculates parameters $a,b,a_0,b_0$ in the following equation using least
% squares
%%
% 
% $$X=a_1x+b_1y+a_0$$
%
% $$X=-b_1x+a_1y+b_0$$
%%
% *Arguments:*
%
% x_input is a $n\times 1$ matrix containing x coordinate of control points
% in the input space
%
% y_input is a $n\times 1$ matrix containing y coordinate of control points
% in the input space
%
% x_output is a $n\times 1$ matrix containing x coordinate of control points
% in the output space
%
% y_output is a $n\times 1$ matrix containing y coordinate of control points
% in the output space 
%%
NumberOfPoints = size(x_input,1);
A = zeros(2*NumberOfPoints,1); % Coefficient matrix in AX = L
L = zeros(2*NumberOfPoints,1); % Right-hand matrix in AX = L
    for i = 1:NumberOfPoints
        A(2*i-1,1:4) = [x_input(i,1) y_input(i,1) 1 0];
    end
end

當我按“發布”按鈕時,我得到:

在此處輸入圖片說明

那條線怎么了?

不知道這是否是最好的解決方法,但是我設法使用以下腳本發布了該函數。 當然,你會用自己的條目x_input,y_inpyt等請確保您保存下面的腳本在命名Conformal_2D.m文件。

Conformal_2D([3;2;1],[5;6;7],[11;12;13],[14;15;16]);

function [a1,b1,a0,b0] = Conformal_2D(x_input,y_input,X_output,Y_output)
%%
% Calculates parameters $a,b,a_0,b_0$ in the following equation using least
% squares
%%
% 
% $$X=a_1x+b_1y+a_0$$
%
% $$X=-b_1x+a_1y+b_0$$
%%
% *Arguments:*
%
% x_input is a $n\times 1$ matrix containing x coordinate of control points
% in the input space
%
% y_input is a $n\times 1$ matrix containing y coordinate of control points
% in the input space
%
% x_output is a $n\times 1$ matrix containing x coordinate of control points
% in the output space
%
% y_output is a $n\times 1$ matrix containing y coordinate of control points
% in the output space 
%%
NumberOfPoints = size(x_input,1);
A = zeros(2*NumberOfPoints,1); % Coefficient matrix in AX = L
L = zeros(2*NumberOfPoints,1); % Right-hand matrix in AX = L
    for i = 1:NumberOfPoints
        A(2*i-1,1:4) = [x_input(i,1) y_input(i,1) 1 0];
    end
end

在此處輸入圖片說明

發布時,MATLAB默認情況下運行代碼。 當然,您的函數具有在這種情況下不會設置的輸入參數(請參閱此其他問題 )。

有幾種解決方法。 Juanchito的答案說明了一個:不要發布功能,不要發布腳本。

或者,發布函數而不執行它:

publish('Conformal_2D.m','evalCode',false)

或者,在執行函數的內容之前,給MATLAB正確的聲明進行評估:

publish('Conformal_2D.m','codeToEvaluate','x_input=1; y_input=2; X_output=3; Y_output=4')

(當然要調整這些值)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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