Matlab 2012 tidak menjalankan fungsi saya dengan benar

Saya menulis m-file ini

function adhamm = adhamm(a,b)
    adhamm = a+b
end

dan ketika saya mencoba menjalankannya melalui baris perintah MATLAB dengan menulis

a = 2;
b = 3;
adhamm(a,b);

Saya mendapatkan kesalahan ini

Fungsi 'adhamm' yang tidak ditentukan untuk argumen masukan bertipe 'ganda'.

Kenapa ini?


person 3m masr    schedule 15.04.2012    source sumber
comment
itu kedengarannya tidak benar. Coba ketik which adhamm. Ini mungkin tidak sesuai dengan keinginan Anda.   -  person Richante    schedule 15.04.2012
comment
Kode Anda berfungsi untuk saya. Apakah Anda yakin tidak lupa membuat fungsi alih-alih skrip?   -  person AlexanderN    schedule 15.04.2012
comment
Saya mencobanya lagi dan berhasil! itu terjadi berkali-kali setelahnya, yang saya lakukan hanyalah me-restart Matlab!   -  person 3m masr    schedule 16.04.2012


Jawaban (3)


Fungsi-fungsi ini tidak ditempatkan di jalur pencarian untuk versi baru. MATLAB tidak tahu di mana menemukannya. Namun, JANGAN letakkan di direktori toolbox MATLAB. Itu bukanlah tempat untuk meletakkan fungsi Anda sendiri. Letakkan di direktori terpisah yang akan Anda beri tahu MATLAB cara menemukannya menggunakan alat jalur. (Jika Anda melakukan cd ke direktori itu, MATLAB akan secara otomatis mencari di sana, tapi itu bukan solusi yang baik.)

Anda perlu mempelajari tentang jalur pencarian di matlab, dan alat yang dimiliki matlab untuk memelihara jalur pencarian. Jadi, addpath, savepath, rmpath, pathtool.

person Community    schedule 15.04.2012
comment
@3mmasr: Atau Anda dapat memasukkan fungsi Anda ke dalam direktori yang ditentukan n userpath. - person Jonas; 15.04.2012

Anda menyimpan fungsi Anda dengan nama adhamm.m, kan? Kemudian coba jalankan fungsi di dalam folder adhamm.m.

person mike    schedule 15.04.2012

Anda mungkin menyimpan variabel dengan nama adhamm. Ketik clear adhamm dan coba lagi.

person Oli    schedule 15.04.2012