0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 3
1

Решить f(x)=0 на заданном промежутке, где f(x) произвольная функция, задаваемая в окне интерфейса

19.05.2019, 23:16. Показов 1137. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно решить f(x)=0 на заданном промежутке, где f(x) произвольная ф, задаваемая в окне интерфейса. Построить график и отметить на нем решение, нажав на кнопку.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
function pushbutton1_Callback(hObject, eventdata, handles)
fun = get(handles.edit1, 'String');
x1=str2num(get(handles.edit2, 'String'));
x2=str2num(get(handles.edit3, 'String'));
x0=[x1 x2];
set(handles.axes1, 'xLim',x0) 
ezplot(fun, x0)
grid on 
 
fun2 = str2func(fun);
x3 = fzero(fun2,x0);
y = 0;
plot([x3],[y], 'or')
Насчет построения самих точек тоже нет уверенности. Помогите посчитать f(x)=0 и отметить точки

ОШИБКИ:
Error using fzero (line 246)
FZERO cannot continue because user-supplied function_handle ==> x-1 failed with the error below.

Undefined function 'x-1' for input arguments of type 'double'.

Error in matlab>pushbutton1_Callback (line 156)
x3 = fzero(fun2,x0);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2019, 23:16
Ответы с готовыми решениями:

Процедура-функция, вычисляющая значение функции на заданном промежутке
Написать программу, в которой используется процедура - функция, вычисляющая сумму функции y=корень...

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

Протабулировать функцию в заданном промежутке, вывести количество значений функций, находящихся в заданном диапазоне
Протабулировать функцию в заданном промежутке. Вывести количество значений функций, находящихся в...

Рассчитать значение функции в заданном промежутке с заданном шагом
#include <iostream> #include <stdio.h> #include <math.h> int main() { int n,k,s; float...

12
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
23.05.2019, 13:27 2
Maleficent, fzero даст только одно решение, переделал, посмотрите, спрашивайте, если что
Вложения
Тип файла: zip Maleficent.zip (28.1 Кб, 13 просмотров)
0
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 3
24.05.2019, 00:26  [ТС] 3
АлександрКом, благодарю!
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
24.05.2019, 10:49 4
Цитата Сообщение от АлександрКом Посмотреть сообщение
fzero даст только одно решение, переделал, посмотрите, спрашивайте,
Скажите, пожалуйста, файлы работают в какой версии.., в 2016a случились ошибки
0
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
24.05.2019, 11:12 5
tokrab, проверил в 14а и 18b
Цитата Сообщение от tokrab Посмотреть сообщение
в 2016a случились ошибки
Какие?
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
24.05.2019, 11:38 6
при нажатии на кнопку:
Struct contents reference from a non-struct array object.

Error in Maleficent>pushbutton1_Callback (line 147)
fun = get(handles.edit1, 'String');

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in Maleficent (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)Maleficent('pushbutton1_Callback',hObject,eventdata,gui data(hObject))
Error while evaluating UIControl Callback
0
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
24.05.2019, 11:58 7
tokrab, поставьте breakpoint на 147 строчке, нажмите кнопку и посмотрите, есть ли в handles поле edit1
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
24.05.2019, 12:19 8
я вижу handles: empty 0x0 double
0
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
24.05.2019, 12:39 9
tokrab, очень странно. Вы ничего не меняли? Может кто-то запустит на 16 матлабе, но не думаю, что в этом проблема
1
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
24.05.2019, 12:46 10
ничего не менял, могу проверить на 2014.

Добавлено через 6 минут
все, спасибо, разобрался, не правильно запускал гуи. Открывал fig и жал кнопку. А надо начинать с функции. Просто помню, что функции не надо запускать, они типа сами должны...
0
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
24.05.2019, 13:05 11
Цитата Сообщение от tokrab Посмотреть сообщение
Открывал fig и жал кнопку. А надо начинать с функции.
можно и с fig, только жать на зеленый треугольник
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
24.05.2019, 15:12 12
если я открываю fig, нажимаю кнопку, а функция не открыта или даже открыта - тогда и возникает ошибка
0
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
24.05.2019, 15:47 13
Цитата Сообщение от tokrab Посмотреть сообщение
если я открываю fig, нажимаю кнопку, а функция не открыта или даже открыта - тогда и возникает ошибка
Да, это понятно. Нужно нажать правой кнопкой мыши на файл .fig, дальше open in GUIDE и зеленый треугольник. Ну или запускать сразу m - файл
1
24.05.2019, 15:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2019, 15:47
Помогаю со студенческими работами здесь

Произвольная пространственная система сил - решить для универа
Нужно решить для универа, помогите.

Рандом в заданном промежутке
Здравствуйте, возникла необходимость рандомного распределения чисел от 0 до 10 с условием, что...

Список в заданном промежутке
ривет всем! пишу программу на Visual Prolog. Тема -списки. буду благодарен за советы. Условие:...

Random в С++ в заданном промежутке
Можете пожалуйста написать строчку присваивания переменной типа int рандомного значения числа...

Случайные числа в заданном промежутке
Как на чистом Си написать генератор случайных чисел в заданном промежутке? Т.е. чтобы числа...

Табулирование функций на заданном промежутке
составить программу для вычисления значений функции f(x) на отрезке с шагом h. Результат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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