DNS redirects naked/apex domains (e.g. "mycompany.com") by using an A or AAAA record (preferably both). The server itself is bound to both domains (e.g. "mycompany.com" and "www.mycompany.com"). However, A and AAAAA records require an IP address. Since we don't have an IP address (because it may change), what we need is a CNAME.
Unfortunately, we can't have a CNAME on a(n) naked/apex domain, because DNS forbids it. What this means is that you'll have to come up with an appropriate solution to work around this problem.
Depending on your DNS provider, you may have to configure a URL Redirect with your provider (which may not work correctly with SSL/TLS/HTTPS), configure an ALIAS record (a non-standard DNS extension that causes the DNS server to return an A record based on a CNAME), or set up your own server to handle the redirect.
If you use a URL Redirect, then the users that visit your site will see the redirected domain (e.g.
www.<domain>.com.<org-id>.live.salesforce.com). Otherwise, if you don't want to expose the hidden domain name, you'll need a server that acts as a proxy or one that redirects to the www sub-domain. It would be pretty trivial to set up a server like this, but you will need technical resources in order for this to work.
In your comments, you mentioned that you use GoDaddy. According to their instructions, there is a way to set up a Forward Address for your naked domain, but this may have some intentional side effects, so be aware of that. Setting up your own server to handle the redirect, pointed to by an A record on the naked domain, is probably your best bet, but you will need to set up some hosting. A simple virtual server from AWS or something should be sufficient; I don't see why you'd have to commit more than about $5/month to this redirect effort.