Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Matlab Алгоритм С4.5 https://www.cyberforum.ru/ matlab/ thread1592411.html
Доброго времени суток. Знаю, что алгоритм C4.5 строит дерево решений с неограниченным количеством ветвей у узла. Данный алгоритм может работать только с дискретным зависимым атрибутом и поэтому может решать только задачи классификации. Для работы алгоритма C4.5 необходимо соблюдение следующих требований: 1. Каждая запись набора данных должна быть ассоциирована с одним из предопределенных...
Построение ЛАЧХ и ЛФЧХ в Matlab-е Matlab
Здравствуйте! Как по полученным выражениям АЧХ и ФЧХ построить ЛАЧХ и ЛФЧХ в Matlab-е?
Matlab Блок схема по коду https://www.cyberforum.ru/ matlab/ thread1591967.html
помогите нарисовать блок схему по коду clc, clear close all addpath D:\ I = imread('12345.bmp'); img=im2double(rgb2gray(I)); %I = gpuArray(imread('kurs.jpg')); %imshow(I); = imgradientxy(img); = imgradient(Gx, Gy);
Matlab Сокращение дроби и нахождение ее знаменателя Подскажите, есть ли в матлабе такие функции, с помощью которых можно было бы сократить дробь и найти ее знаменатель? https://www.cyberforum.ru/ matlab/ thread1591938.html
Matlab Построение передаточной характеристики изодромного звена
Доброго времени суток,помогите построить передаточную характеристику изодромного звена,если известно К1=7 К2=3,5
Matlab Построение кривых второго порядка (окружность, эллипс, парабола, гипербола) https://www.cyberforum.ru/ matlab/ thread1591687.html
общее задание: нужно построить гиперболу с заданными "параметрами" a и b, а также оси координат, директрисы, фокусные точки; после чего соединить некоторые элементы. пример готовой "вещи" на картинке ниже. нужно написать код построения этой самой "вещи". построение особых вопросов не вызвало, а вот с поворотом на угол через матрицу поворота, прям, беда - поворачиваться - поворачиваются, но...
Matlab Вейвлет преобразования https://www.cyberforum.ru/ matlab/ thread1591573.html
Здравствуйте. У меня следующая проблема. Анализирую сигнал с помощью вейвлетов. Нужно извлечь числовые значения энергии спектра. Matlab выводит картинку, а мне нужна матрица. Помогите, пожалуйста
Найти в тексте все предложения, содержащие максимальное число слов минимальной длины Matlab
Помогите пожулуйста, вообще не понимаю как реализовать данное задание в код найти все предложения содержащие максимальное число слов минимальной длины
Matlab Написать программу нахождения матриц С и С1 такой же размерности, элементы которых, расположены выше главной https://www.cyberforum.ru/ matlab/ thread1590983.html
Помогите пожалуйста написать программу в Matlab! Дано две произвольные квадратные матрицы А и В, такие что все элементы матрицы А по абсолютному значению превышают 1, а элементы матрицы В существенно меньше 1. Написать программу нахождения матриц С и С1 такой же размерности, элементы которых, расположены выше главной диагонали, вычисляются соответственно по формулам: Сij = (Aij + Bij)3 - A3ij...
Matlab Отображение Пуанкаре в Matlab https://www.cyberforum.ru/ matlab/ thread1590975.html
Друзья, помогите разобраться "чайнику". Необходимо сделать отображение Пуанкаре гармонического сигнала x=A*sin(w*t) с изменением периода (сдвигом по фазе) ( Т=1; Т=1,2; Т=1,3 и т.д. в плоскости (зависимость х (t)) и тоже самое на фазовой плоскости (зависимость х1 от х2). Программа написана, но работает неправильно, может кто подскажет как правильнее?
Решение линейных уравнений Matlab
Дана матрица 5х5. Необходимо найти функцию между двумя соседними значениями. Функция вида y=k*x+b, где х-номер элемента матрицы (i), y-значение матрицы в этой точке А(i,j). Если предположить, что первое значение 100, а второе 150, то необходимо решить систему: 100=k*1+b, 150=k*2+b. Далее создать новую матрицу добавлением 3 нулей после каждого число (100 0 0 0 150 0 0 0 и т.д) и вставить на место...
Matlab Построить изображение квадрата, треугольника, круга Всем привет! В общем столкнулся с некоторой проблемой, а именно с построением изображений определенной формы. например надо:построить изображение квадрата со сторонами 256х256 на фоне 512х512. с квадратом в общем ничего сложного I = zeros(512,512); I = double(I); I(200:300 , 200:300) = 256; imshow(I); хотя с назначением размера возникли проблемы. https://www.cyberforum.ru/ matlab/ thread1590748.html
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 6
0

Ошибка при передаче параметров в функцию. Объясните, ребят, пожалуйста, в чем ошибка - Matlab - Ответ 8393666

25.11.2015, 17:40. Показов 1454. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Есть функция, которую необходимо отобразить в виде линий уровня. Далее с помощью простого симплекс-метода нужно найти минимальное значение этой функции.

Вот, собственно, сама исходная функция:
Matlab M
1
2
3
4
5
6
7
8
9
function [Z]  = fsimp(a, b)
X = a;
Y = b;
x = -3 : .05 : 3;
[X, Y] = meshgrid(X);
Z=(1.5-X.*(1-Y)).^2+(2.25-X.*(1-Y.^2)).^2;
C = contour(X, Y, Z);
clabel(C);
end
Далее - симплекс-метод (нашла в просторах интернета):

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function [valFunc, var_min, iter] = simplex(fsimp, init_point, step_size, toll, numMaxIter)
 
% It's a function that finds the minimum value of a two variables objective
% function with a deterministic zero order algorithm: simplex method.
 
% The input variables are:
%-fun: inline function of the objective function
%-init_point: initial point for the simplex method
%-step_size: initial dimension of the simplex
%toll: tolerance for the stop criterion on the simplex dimension
%-numMaxIter: stop criterion on the maximum number of iterations
 
% The output variables are:
%-valFunc: the minumum value of the objective function
%-var_min: the minimum point
%-iter: the number of iteration made
 
%%%%%%%% IMPORTANT %%%%%%%%%%%
% To run correctly the Matlab function, you must run first a contour plot
% of the objective function. You can also view: help countour.
 
iter=0; % Iteration number
N=numMaxIter;   % Max number of iterations (first stop criterion)
tolleranza_passo=toll;  % Tolerance on the simplex dimension (second stop criterion)
passo=step_size;    % Initial step
p0=init_point;  % Initial point. Example: [-5e-6 1e-6]
p=[p0(1,:); p0(1,1)-passo p0(1,2); p0(1,1)-passo/2 p0(1,2)+sqrt(3)/2*passo];    % Vector that contains the three triangle's vertices
plot([p(:,1); p(1,1)], [p(:,2); p(1,2)],'g')    % Plot the initial simplex on the contour plot of objective function
 
while iter<N  && passo>tolleranza_passo
    V=[fsimp(p(1,1),p(1,2)); fsimp(p(2,1),p(2,2)); fsimp(p(3,1),p(3,2))];   % Objective function's values in the simplex's points
    [V_ord, ind]=sort(V);   % Calculates the worst point: p(ind(3)) it is the point to reverse
    V_pegg=V(ind(3));   %Calculating the function in the point of maximum value
    p_ord=p(ind,:);     %Sorts the vector
    p_new=[p_ord(3,1)+2*((p_ord(1,1)+p_ord(2,1))/2-p_ord(3,1)) p_ord(3,2)+2*((p_ord(1,2)+p_ord(2,2))/2-p_ord(3,2))];    % It reverse the worst point
    if fsimp(p_new(1,1),p_new(1,2))<=V_pegg
        p(ind(3),:)=p_new(1,:);     %Checks if the function's value in the new point is smaller than the previous. In the positive case, it saves the new point
        plot([p(:,1); p(1,1)], [p(:,2); p(1,2)],'g')    %Plot the simplex on the contour plot of objective function
        pause(0.5);
    else
        plot([p_ord(1,1); p_ord(2,1); p_new(1,1); p_ord(1,1)],[p_ord(1,2); p_ord(2,2); p_new(1,2); p_ord(1,2)],'--r')   %Plot the worst simplex on the contour plot of objective function
        pause(0.5);
        V_pegg2=V(ind(2));      % If the reversed point returned a worst result, it reverse the second worst point
        p_new=[p_ord(2,1)+2*((p_ord(1,1)+p_ord(3,1))/2-p_ord(2,1)) p_ord(2,2)+2*((p_ord(1,2)+p_ord(3,2))/2-p_ord(2,2))];
        if fsimp(p_new(1,1),p_new(1,2))<=V_pegg2
            p(ind(2),:)=p_new(1,:);
            plot([p(:,1); p(1,1)], [p(:,2); p(1,2)],'g')
            pause(0.5);
        else 
            plot([p_ord(1,1); p_ord(3,1); p_new(1,1); p_ord(1,1)],[p_ord(1,2); p_ord(3,2); p_new(1,2); p_ord(1,2)],'--r')   %Plot the worst simplex on the contour plot of objective function
            pause(0.5);
            % If the first reversed point and the second reversed point
            % returned a worst value, it contracts the simplex
            p=[p_ord(1,1) p_ord(1,2); (p_ord(2,1)-p_ord(1,1))/2+p_ord(1,1) (p_ord(2,2)-p_ord(1,2))/2+p_ord(1,2); (p_ord(3,1)-p_ord(1,1))/2+p_ord(1,1) (p_ord(3,2)-p_ord(1,2))/2+p_ord(1,2)];    
            passo=passo/2;  % Contracts the simplex dimension
            plot([p(:,1); p(1,1)], [p(:,2); p(1,2)],'g')    % Plot the new simplex
            pause(0.5);
        end
    end
    
    % It calculates the output variables
    valFunc=fsimp(p(1,1),p(1,2));
    var_min=[p(1,1), p(1,2)];
    
    iter=iter+1;    % Increases the iterations number
end
При запуске [x,y,i] = simplex(@fsimp, [-2 2], 0.05, 0.01, 1000) возникает ошибка:
??? Undefined function or method 'fsimp' for input
arguments of type 'double'.

Error in ==> simplex at 31
V=[fsimp(p(1,1),p(1,2)); fsimp(p(2,1),p(2,2));
fsimp(p(3,1),p(3,2))]; % Objective function's
values in the simplex's points

Понимаю, что скорее всего ошибка в исходной функции при передаче параметров. Объясните мне, пожалуйста, как передавать массивы/векторы в функцию. Постоянно на этом "спотыкаюсь". Спасибо

Вернуться к обсуждению:
Ошибка при передаче параметров в функцию. Объясните, ребят, пожалуйста, в чем ошибка Matlab
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2015, 17:40
Готовые ответы и решения:

Ошибка при возведении в степень. В чем дело? Объясните, пожалуйста
Функция возведения в степень: function y = bfunc(x) y = x^2; end Метод деления...

Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию?
Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и...

ребят посмотрите пожалуйста в чем ошибка кода
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Ошибка при передаче параметров
Выбираю путь в переменную path, затем пытаюсь передать эту переменную в качестве параметра в...

4
25.11.2015, 17:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2015, 17:40
Помогаю со студенческими работами здесь

Ошибка при передаче строк в функцию, ошибка при формировании дерева
Курсовой проект, в основе база данных, данные записываются в двоичное дерево. Есть 2 проблемы: 1)...

Ошибка при передаче параметров в подпрограмму
Ошибки появляются при ассемблинге, их обозначил в коде. Помогите пожалуйста. Спасибо. .data f...

Объясните, пожалуйста, в чём ошибка
import stanford.karel.*; public class Task1101_KarelGoesThroughMaze extends SuperKarel {...

В чём моя ошибка, объясните пожалуйста?
Мой код: #include &lt;iostream&gt; using namespace std; double func (int n, int x) { if(n...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru