Я новый пользователь MATLAB и я хочу, чтобы решить следующую задачу:Как написать функцию индикатора в MATLAB
Я хочу построить кусочно-постоянную функцию f
. f
должен быть анонимной функцией, такой как [email protected](t)1[0,0.25)(t)
. Однако число интервалов для кусочно-постоянной функции вообще не фиксировано. Вместо этого кусочный интервал зависит от ввода пользователей.
Например, если один входит 4, интервал становится кусочно
[0,0.25), [0.25,0.5), [0.5,0.75) и [0.75,1)
затем
F = @ (т) a1 * 1 [0,0.25) (т) + а2 * [0.25,0.5) (т) + а3 * 1 [0.5,0.75) (т) + а4 * 1 [0.75,1) (т);
В то время как, если человек входит 5, интервал становится кусочно
[0,0.2), [0.2,0.4), [0.4,0.6), [0.6,0.8) и [0.8,1)
Есть ли хорошие способы решения проблемы?
Обратите внимание, что в любой ситуации, где вы используете анонимный функции, вы также можете использовать обычную функцию Matlab и оператор @, чтобы получить дескриптор функции. Например. '@ sum' будет дескриптором функции для функции' sum'. –
Можете ли вы привести пример использования @sum? Когда я пытаюсь в Matlab, он дает сообщение об ошибке, что я не могу сделать это таким образом. –
Когда вы выполняете 'f = @ (x) x.^2, вы присваиваете переменной' f' дескриптор функции функции, которая вычисляет 'x.^2'. Вы также можете создать файл 'myfunction.m' с текстом' function result = myfunction (x) ... result = x.^2', а затем назначить 'f = @ myfunction'. Во втором случае' f' будет также назначается дескриптор функции для функции, которая вычисляет 'x.^2'. –