Описание тега function-handle

В Matlab дескриптор функции - это механизм, позволяющий косвенный вызов функции. Служит как "указатель на функцию"
1 ответ

Ошибка при передаче аргументов в дескрипторы функций

Предположим, у нас есть следующая функция: function f=lorenz(t,x,a,b,c) % solve differential equation like this %dx/dt=a*(y-x) %dy/dt=-x*z+b*x-y %dz/dt=xy-c*z/3 f=zeros(3,1);% preallocate result f(1)=a*(x(2)-x(1)); f(2)=-x(1)*x(3)+b*x(1)-x(2); f(3)=…
1 ответ

Итерация по quadgk с несколькими параметрами

Я пытаюсь оценить числовую интеграцию, используя quadgk, так как я не эксперт в Matlab, мне трудно заставить следующий код работать. У меня есть матрица g(i,j), где я оцениваю интеграл по параметру phi для каждого элемента g. Эта часть кода работает…
26 июл '16 в 20:24
1 ответ

Октава: вычислить градиент многомерной функции в определенной точке

Я пробовал следующий код, чтобы найти градиент функции в определенной точке, где на входе находится вектор, а функция возвращает скаляр. Ниже приведена функция, для которой я пытаюсь вычислить градиент. %fun.m function [result] = fun(x, y) result = …
30 окт '12 в 10:25
1 ответ

Дескриптор рекурсивной функции в MATLAB

Предположим следующее: u=[1 2 3]; W_in=[4 5 6]'; W=[1 2 3;4 5 6;7 8 9]; x=zeros(3,4); %initialization x(:,1)=[1 2 3]'; Как я могу создать дескриптор функции такой, что: x(:,i)=@(gamma) (1-gamma)*x(:,i-1)+gamma*(W*x(:,i-1)+W_in*u(i-1)) где gamma это …
29 июл '17 в 15:17
3 ответа

Получить производную дескриптора функции в MATLAB

Можно ли получить производную дескриптора function_handle как другой дескриптор function_handle? Подобно: fun1 = @(x) x^2; % do that ... disp(fun2); @(x) x*2 Я знаю, как найти производную символической функции, но я не могу преобразовать function_ha…
15 янв '12 в 11:11
2 ответа

Ошибка использования fzero в Matlab: неопределенная функция или метод 'det' для входных аргументов типа 'function_handle'

У меня есть такая же проблема, описанная в этом разделе: Использование fzero: неопределенная функция или метод isfinite для входных аргументов типа 'sym' Их ответы действительно помогли мне, но я все еще застрял. Я также должен найти нули функции w,…
26 май '11 в 09:00
3 ответа

Ошибка рекурсии MatLab (новичок)

Хорошо. Итак, у меня есть две функции в MatLab, которые вызывают друг друга. Riemann.m function I = Riemann(f, dx, a, b) x = a:dx:b; fx = f(x).*dx; I = sum(fx); и myfunc.m function f = myfunc(x) f = sin(1./x); for n=1:100 I = Riemann(@myfunc, 0.001,…
02 июн '09 в 10:18
1 ответ

Создание дескриптора функции для перегруженной функции end

MATLAB позволяет перегружать различные операторы для пользовательских классов. Один из не перегруженных списком операторов end, как можно узнать из \matlab\lang\end.m: % END(A,K,N) is called for indexing expressions involving the object A % when END…
1 ответ

MATLAB ERROR Feval требует дескриптор функции в качестве первого аргумента

У меня есть этот код (*) и когда я делаю: »syms x »newton_raphson({((5400.*(1 + x)*0^360) - (1450000.*x.*(1 + x).^360))}, diff(((5400.*(1 + x)*0^360) - (1450000.*x.*(1 + x).^360)),1), 0.001, eps, 5, 0.1) эта ошибка появляется: Ошибка при использован…
1 ответ

MATLAB- передача параметра дескриптора функции в другую функцию в качестве дескриптора

Работа над заданием, включающим генетические алгоритмы (множество головных болей, множество забав). Мне нужно уметь тестировать разные методы кроссовера и разные методы мутаций, чтобы сравнить их результаты (часть статьи, которую я должен написать д…
1 ответ

Передача имени функции в качестве аргумента в MATLAB

Я знаю, что этот вопрос уже задавали и отвечали здесь, но я не могу заставить его работать. У меня есть простая функция f1: function out = f1(x) out = x^2 + 5; end и я хочу иметь функцию "делегат", которая принимает имя функции в качестве входных да…
2 ответа

Как получить дескриптор переопределенной встроенной функции?

На моем пути Matlab есть обычай zeros функция. Я хочу сохранить ручку для встроенного zeros в переменной. Как я могу это сделать? Думал о @(varargin)builtin('zeros',varargin{:}), но это, вероятно, замедлит работу из-за сравнения строк. Кроме того, я…
1 ответ

Cell Array и функциональная ручка

Посмотрите на приведенный ниже код: for i=1:2 if i == 1 F{i}= @(x) x(i)+x(i+1); else F{i}= @(x) x(i-1)-x(i)+2; end end Я хотел сохранить в F что-то вроде F={@(x) x(1)+x(2);@(x) x(1)-x(2)+2;}, Как мне отредактировать мой код, чтобы добиться этого? Мо…
04 сен '13 в 11:38
1 ответ

Matlab: интеграция с дескриптором функции, размерность матрицы

Я использую дескрипторы функций для интеграции с несколькими переменными (примечание: я создал одну и ту же программу, используя символическую интеграцию, но это занимает очень много времени). Тем не менее, я продолжаю получать ошибку в измерениях м…
12 июн '17 в 09:01
1 ответ

Как создать несколько пространств состояний из массивов в MATLAB

Я хотел бы спросить, как создать несколько пространств состояний из массивов. Ввод: A1toA100 (100xn double) B1toB100 (100xp double) C1toC100 (100xn double) D1toD100 (100xp double) Пример: A1toA10 = -0.5909 -0.4178 -0.3412 -0.2954 -0.2643 -0.2412 -0.…
2 ответа

Nargin для метода класса Matlab возвращает -1

У меня есть следующий сценарий. В myClass.m я определил classdef myClass ... methods function y = foo(this, x) ... end end end Затем я выполняю obj = myClass(); nargin(@obj.foo) и получить в результате -1, а я ожидаю 1. Функция, тем не менее, приним…
09 ноя '13 в 07:33
2 ответа

`localfunctions` внутри пакета

localfunctions возвращает дескрипторы функций для всех локальных функций в m-файле. Тем не менее, это не работает в пакете. Например, следующий код, сохраненный как "am", работает нормально: function fs = a() fs = localfunctions; end function babo(…
27 авг '14 в 16:13
1 ответ

Производная от анонимных функций без определения символических переменных в Matlab

Рассмотрим следующий код: f = @(x) x.^2; Можно ли получить производную от функции handle f как другой дескриптор функции, без определения символической переменной?
1 ответ

Оптимизация функции ручки Matlab

У меня есть функция дескриптор в Matlab, как это fhandle = @(A) max(1-2*A,0).*(2*A.^5+2*A + 1) куда A как правило, матрица. Я делаю это довольно много раз, и это замедляет вычисления. Можно сохранить его как дескриптор функции (поэтому мне не нужно …
23 май '11 в 14:28
2 ответа

Условная замена элементов с помощью cellfun

vec = randi(10,10,1) vec(vec < 5) = 0 func = @(x) x(x < 5) = 0 % This isn't valid Как мне перевести вторую строку кода в дескриптор функции, который я могу использовать в сочетании с cellfun?