悬链线

悬链线 (Catenary)指的是一种曲线,指两端固定的一条(粗细与质量分布)均匀、柔软(不能伸长)的链条,在重力的作用下所具有的曲线形状,例如悬索桥等,因其与两端固定的绳子在均匀引力作用下下垂相似而得名。适当选择坐标系后,悬链线的方程是一个双曲余弦函数,其标准方程为:y=a cosh(x/a),其中,a为曲线顶点到横坐标轴的距离。

 

等高悬链线

 

标准方程

其中,a为常数,是曲线顶点到横坐标轴的距离。 [

function curve_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to curve (see VARARGIN)
x = linspace(-5, 5, 100);
a = 0.61803;
A = 10*a;
y = A*cosh(x/a);
plot(x, y, 'color', 'black');
% Choose default command line output for curve
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes curve wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = curve_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
change_a = get(hObject,'Value') ;
 plotCurve(change_a, exp(1) );

% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end


% --- Executes on slider movement.
function slider2_Callback(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
A = cala(get(hObject,'Value'));
plotCurve(pi, A);

% --- Executes during object creation, after setting all properties.
function slider2_CreateFcn(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes during object creation, after setting all properties.
function axes2_CreateFcn(hObject, eventdata, handles)
% hObject    handle to axes2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
%imshow('Fun.jpg');
% Hint: place code in OpeningFcn to populate axes2

function plotCurve(a, A)
x = linspace(-5, 5, 100);
%a = 0.61803;
%A = 10*a;

y = A*cosh(x/a);
plot(x, y, 'color', 'red');

function A = cala(changA)
A = changA;

在悬索线上放一重物时,求解其与两固定点水平连线的距离的思考

1, 认为线不会因上面挂重物而变长。 直接计算就可以。这时轨迹点是椭圆方程。

2,线会因挂重物而变长,但假定变化长度各占均匀。可以以物体在线的中间计算其变化长度来衡量其它各占的长度。或者多求几个点的求其下平均值。

3, 采用数值计算的方式逼近其变量小于某一阈值则停止,思考为什么收敛?类似神经网络的反馈。受力可以列一个方程 2Fcose = G.

上面三种方法计算的值,通过拟合后可以手工测量的值对比,看精度怎样?

4,没有挂重物时可以通过悬索方程求线的长度。当然也可以测量。

 

 

 

Refs

https://baike.baidu.com/item/%E6%82%AC%E9%93%BE%E7%BA%BF/834767?fr=aladdin

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值